根据内容获取宽高label.numberOfLines=x不起作用?
来源:4-14 UIlabel根据内容获取合适宽高
幕布斯2332854
2018-06-10 11:21:13

比如我现在等于3行,但只显示一行,怎么解决呢?
2回答
①使用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];
幕布斯2332854
提问者
2018-06-13
[label SizeToFit]; 用这个好像更简单(-_-)
相似问题