IOS开发入门之ios实现navigationItem的titleLabel双行显示代码教程
凌雪 2018-10-23 来源 :网络 阅读 1127 评论 0

摘要:本文将带你了解IOS开发入门ios实现navigationItem的titleLabel双行显示代码教程,希望本文对大家学IOS有所帮助。

本文将带你了解IOS开发入门ios实现navigationItem的titleLabel双行显示代码教程,希望本文对大家学IOS有所帮助。


         

要实现这个功能其实有很多方法,我这里介绍两种方法来实现,一种是通过我们创建一个view,然后往这个view里面加入两个label,然后我们再设置自动布局的约束



//设置titleView

     let titleView = UIView(frame: CGRect(x:   0, y: 0,   width: 200,   height: 32))

      

       

     //导航栏的titleView为我们自定义的titleView

       navigationItem.titleView =   titleView

       

       ///创建titleLabel,就是发微博的label

       let titleLabel:UILabel = UILabel(title:   "发动态", color: UIColor.black, fontSize: 15)

        

       ///创建nameLabel

       let nameLabel:UILabel = UILabel(title:   "哈哈哈",

       color: UIColor.lightGray, fontSize:   13)

        

       //添加子控件

       titleView.addSubview(titleLabel)

        

       titleView.addSubview(nameLabel)

        

       //titleLabel设置自动布局

       titleLabel.mas_makeConstraints { (make)   in

           //设置中心点X的自动布局

           make?.centerX.mas_equalTo()(titleView.mas_centerX)

           //设置顶部的自动布局

           make?.top.mas_equalTo()(titleView.mas_top)

       }

       //设置nameLabel的自动布局

       nameLabel.mas_makeConstraints { (make)   in

           //设置中心点X的布局

           make?.centerX.mas_equalTo()(titleView.mas_centerX)

           //设置顶部的自动布局

           make?.top.mas_equalTo()(titleLabel.mas_bottom)

           //设置底部的自动布局

           make?.bottom.mas_equalTo()(titleView.mas_bottom)

       }

        

   }

   

另外一种就是通过label来显示,然后通过设置label的attributedText属性来进行设置,换行我们这里可以通过\n,换行符来做


   

//创建一个Label

   UILabel * titleView=[[UILabel   alloc]init];

    

   //显示宽高

   titleView.w=180;

   titleView.h=44;

    

   //设置文字居中显示

   titleView.textAlignment=NSTextAlignmentCenter;

    

   //设置titleLabel自动换行

   titleView.numberOfLines=0;

    

   //设置发微博的prefix

   NSString * prefix=@"发动态";

   NSString * name = @"哈哈哈" 

  //获取标题的字符串

   NSString * str=[NSString   stringWithFormat:@"%@\n%@",prefix,name];

   //创建一个带有属性的字符串比如说颜色,字体等文字的属性

   NSMutableAttributedString * attrStr=[[NSMutableAttributedString   alloc]initWithString:str];

    

   //设置name的字体大小

   [attrStr addAttribute:NSFontAttributeName   value:[UIFont systemFontOfSize:12]   range:[str rangeOfString:name]];

   //设置发动态的字体大小

   [attrStr addAttribute:NSFontAttributeName value:[UIFont   systemFontOfSize:13]   range:[str rangeOfString:prefix]];

   //设置name的颜色

   [attrStr   addAttribute:NSForegroundColorAttributeName value:[UIColor grayColor] range:[str   rangeOfString:name]];

    

   //label中也可以携带图片

   //      NSTextAttachment * attachment=[[NSTextAttachment   alloc]init];

   //      attachment.image=[UIImage imageNamed:@""];

   //    NSAttributedString   * str2=[NSAttributedString   attributedStringWithAttachment:attachment];

   //    [attrStr   appendAttributedString:str2];

    

   //设置有属性的text

   titleView.attributedText=attrStr;

   //设置导航栏的titleView

   self.navigationItem.titleView=titleView;

   

    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程