根据内容获取宽高label.numberOfLines=x不起作用?

来源:4-14 UIlabel根据内容获取合适宽高

幕布斯2332854

2018-06-10 11:21:13

http://img.mukewang.com/climg/5b1c99270001e43510010751.jpg
比如我现在等于3行,但只显示一行,怎么解决呢?

写回答

2回答

imoocLovers

2018-06-11

①使用sizeWithAttributes可以获得单行文本的宽高,lable的宽度已经确定,再设置显示几行就不会起作用,想要多行显示获取宽高还需要使用其他的办法。

②下面的方法你可以试一试

    UILabel *lable = [UILabel new];
    lable.font = [UIFont systemFontOfSize:14];
    NSString *titleContent = @"";
    lable.text = titleContent;
    lable.numberOfLines = 0;
    lable.textColor = [UIColor redColor];
    CGSize titleSize = [titleContent boundingRectWithSize:CGSizeMake([UIScreen mainScreen].bounds.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]} context:nil].size;
    lable.frame = CGRectMake(0, 300, titleSize.width, titleSize.height);
    [self.view addSubview:lable];


1

幕布斯2332854

提问者

2018-06-13

[label SizeToFit]; 用这个好像更简单(-_-)

0

0 学习 · 1878 问题

查看课程