iOS开发之UILabel

UILabel是iOS开发一个基本控件。主要用来显示文本信息。

一、UILabel未作自适应

   代码:

    self.noAdapLbl = [[UILabel alloc] init];
    _noAdapLbl.frame = CGRectMake(20, 36, 280, 200);// 为UILabel设置高度
    _noAdapLbl.backgroundColor = [UIColor orangeColor];// UILabel加上背景颜色,方便调试观看

    _noAdapLbl.font = [UIFont systemFontOfSize:15];
    _noAdapLbl.text = @" 明月几时有,把酒问青天。不知天上宫阙,今夕是何年?我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间!转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟 。";
    _noAdapLbl.numberOfLines = 0;// 文本行数,为0时没有最大行数限制

    [self.view addSubview:_noAdapLbl];

   显示效果:

   

   分析:这里设置了UILabel的numberOfLines属性,所以文本可以显示多行。但从显示效果看UILabel设置的高度比实际文本信息高。So,请看下一条。


二、UILabel高度自适应

   代码:

    self.adapLbl = [[UILabel alloc] init];
    _adapLbl.backgroundColor = [UIColor yellowColor];// UILabel加上背景颜色,方便调试观看
    
    _adapLbl.font = [UIFont systemFontOfSize:15];
    _adapLbl.text = @" 明月几时有,把酒问青天。不知天上宫阙,今夕是何年?我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间!转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟 。";
    _adapLbl.numberOfLines = 0;// 文本行数,为0时没有最大行数限制
   

   // 自适应高度

    CGFloat height = [_adapLbl sizeThatFits:CGSizeMake(280, MAXFLOAT)].height;
    _adapLbl.frame = CGRectMake(20, 36, 280, height);// 为UILabel设置高度
    
    [self.view addSubview:_adapLbl];

   显示效果:

  

  

   分析:主要用了- (CGSize)sizeThatFits:(CGSize)size;方法

   三、UILabel加上行间距

   代码:

    self.spacpLbl = [[UILabel alloc] init];
    _spacpLbl.backgroundColor = [UIColor yellowColor];// UILabel加上背景颜色,方便调试观看
    
    _spacpLbl.font = [UIFont systemFontOfSize:15];
    _spacpLbl.text = @" 明月几时有,把酒问青天。不知天上宫阙,今夕是何年?我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间!转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟 。";
    _spacpLbl.numberOfLines = 0;// 文本行数,为0时没有最大行数限制
    
    // 行间距
    NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:_spacpLbl.text];
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    paragraphStyle.lineSpacing = 20;// 行间距为20
    [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, _spacpLbl.text.length)];
    _spacpLbl.attributedText = attributedString;
    
    // 自适应高度
    CGFloat height = [_spacpLbl sizeThatFits:CGSizeMake(280, MAXFLOAT)].height;
    _spacpLbl.frame = CGRectMake(20, 36, 280, height);// 为UILabel设置高度
    
    [self.view addSubview:_spacpLbl];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值