zoukankan      html  css  js  c++  java
  • 新浪微博客户端(35)-使用NSMutableAttributedString实现多行文本的效果

    DJComposeViewController.m

    import "DJComposeViewController.h"
    #import "DJAccountTool.h"
    
    
    @implementation DJComposeViewController
    
    
    
    
    - (void)viewDidLoad {
    
        [super viewDidLoad];
        [self initNavigationView];
        [self initInputView];
    
    }
    
    
    - (void)viewDidAppear:(BOOL)animated {
    
        [super viewDidAppear:animated];
         self.navigationItem.rightBarButtonItem.enabled = NO;
        
    }
    
    
    /** 初始化NavigationView */
    - (void)initNavigationView {
    
        self.view.backgroundColor = [UIColor whiteColor];
        self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonItemStyleDone target:self action:@selector(finish)];
        
        self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"发送" style:UIBarButtonItemStylePlain target:self action:@selector(send)];
        
        
        
        
        UILabel *titleView = [[UILabel alloc] init];
        titleView.width = 200;
        titleView.height = 44;
        titleView.numberOfLines = 0; // 设置titleView 为多行显示
        titleView.textAlignment = NSTextAlignmentCenter;
        
        DJAccount *account = [DJAccountTool account];
        NSString *nickName = account.screen_name;
        NSString *prefix = @"发微博";
        NSString *str = [NSString stringWithFormat:@"%@
    %@",prefix,nickName];
        NSRange nick_name_range = [str rangeOfString:nickName];
        NSRange prefix_range = [prefix rangeOfString:prefix];
        
        NSMutableAttributedString *titleStr = [[NSMutableAttributedString alloc] initWithString:str];
        [titleStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:13] range:nick_name_range];
        [titleStr addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:15] range:prefix_range];
        
        
        titleView.attributedText = titleStr;
        self.navigationItem.titleView = titleView;
        
    }
    
    
    
    /** 初始化输入区域 */
    - (void)initInputView {
    
        UITextView *inputView = [[UITextView alloc] init];
        inputView.frame = self.view.bounds;
        [self.view addSubview:inputView];
    
    }
    
    
    
    - (void)finish {
    
        [self dismissViewControllerAnimated:YES completion:nil];
        
    
    }
    
    
    /** 发微博 */
    - (void)send {
    
    
        
        
    }
    
    
    @end

    最终效果:

     

  • 相关阅读:
    qt鼠标事件总结(坐标,跟踪,点击判断)
    从零开始学C++之RTTI、dynamic_cast、typeid、类与类之间的关系uml
    前端篇: 前端演进史
    找一款防文件或文件夹误删除,移动,修改的软件
    yyyy
    盘点我用过的那些网盘(那些年,我们一起玩的网盘)
    Win8/8.1/10获得完整管理员权限的方法
    [置顶] IT老男人读《因为痛,所以叫青春》
    dddd
    用JUNCTION映射文件夹内容 解决多系统跑同一个虚拟机而共享文件夹路径不同的问题
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/6099201.html
Copyright © 2011-2022 走看看