有时候我们由于对数据的多少不是很清楚,需要拿到数据之后才能知道需要多大的空间来放这个数据,这就需要我们对UILabel
的自适应高度
和自动换行
要熟悉了。在这里需要适配IOS6.0
的系统了:
针对
IOS6.0
,我们可以通过height =[text sizeWithFont:font constrainedToSize:CGSizeMake(width, 1000) lineBreakMode:NSLineBreakByCharWrapping].height;
,通过UILabel
的宽,内容和字体大小来定UILabel
的高度从而刷新界面改变布局。
针对
IOS7.0以上
,我们需要通过
NSDictionary *attribute = @{NSFontAttributeName: font};
height = [text boundingRectWithSize:CGSizeMake(width, 0) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading | NSStringDrawingTruncatesLastVisibleLine attributes:attribute context:nil].size.height;
同样也是通过UILabel
的宽,内容和字体大小来定UILabel
的高度从而刷新界面改变布局。
我们需要通过这些方法来调用获取到UILabel高度来设置UILabel的高度,从而能自适应高度