灵心如玉,守一生无惧|

SadicZhou

园龄:3年2个月粉丝:7关注:4

IOS开发-实现一个高度自适应的UILabel和一个宽度自适应的UILabel

1.实现一个高度自适应的UILable

思路:UILabel初始化之后,先不要设置他的宽度和高度,等到设置好text属性和font属性之后,根据text的长度以及font的大小来计算UILabel控件的高度

//实现一个高度自适应的uilabel
    UILabel *label2 = [[UILabel alloc] init];
    label2.text = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx想想想想想想想想想想想想想想想想想学习学习学习学习";
    label2.font = [UIFont systemFontOfSize:13];
    label2.frame = CGRectMake((self.view.frame.size.width-200)/2, 100, 200, label2.text.length*13/200*16);
    label2.numberOfLines =0;
    [self.view addSubview:label2];

根据 label2.text.length*13/200计算出文字占几行然后乘以UILabel的高度加3pt,这里加3是为了确保文字能完全展示出来。一般情况下加3就足够了

 

2.实现一个宽度自适应的UILable

思路:UILabel初始化之后,先不要设置他的宽度和高度,等到设置好text属性和font属性之后,根据text的长度以及font的大小来计算UILabel控件的宽度

 //实现一个宽度自适应的uilabel
    UILabel *label3 = [[UILabel alloc] init];
    label3.text = @"想想想想想想想想想想想想想想想休息休息";
    label3.font = [UIFont systemFontOfSize:13];
    label3.frame = CGRectMake((self.view.frame.size.width-label3.text.length*13)/2, 200,  label3.text.length*16,13);
    label3.numberOfLines = 0;
   
    [self.view addSubview:label3];

根据label3.text.length*16计算出UILable的宽度,同样根据字号加上3pt,确保文字能完全展示出来

 

本文作者:SadicZhou

本文链接:https://www.cnblogs.com/SadicZhou/p/17520849.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   SadicZhou  阅读(505)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 尚好的青春 孙燕姿
  2. 2 孙燕姿
  3. 3 克卜勒 孙燕姿
- 孙燕姿
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.