AutoLayout~Label
使用Autolayout可以不用计算文字的宽高,直接给label赋值,label会自己适应文字的长度调节宽高 如果你像下图一样限定了label的topMargin和左右边距 下边距设置为>=300 然后在ViewDidLoad里面重新给label设置内容,这时候你会发现,Label会自动变高 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ _label.text = @"aaaaaaaaaaaasfeaqrgrthrwthwrtyjhwryjwryjwryjwryjwryjwryjwryjwrytjwryjwrytjwrytjwrtjwrtyjwrtjwrtjqwrtjwrtjhwrtjhetjrthjqwrthjqrthqrthjqrtjhqrtjhqarthjqethjteqathqtehqthqathqrthqrtjhq"; }); 此外Label还提供了一个属性preferredMaxLayoutWidth 用来获取计算文本高度是所用的宽度,如果这个属性没有设置就会按照autoLayout里的设置来计算 如果这个属性重新设置了值,就会使用这个值来计算label要变成的高度 将上面的代码改成下面的代码