根据内容获取宽高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]; 用这个好像更简单(-_-)
相似问题