使用sizeWithFont调整UILabel大小:constrainedToSize:lineBreakMode:在iOS7中已弃用

如果iOS7中不推荐使用sizeWithFont:constrainedToSize:lineBreakMode:方法,那么如何自动调整UILabel的大小以动态调整其高度和宽度以适合文本?

解决方法

我最后用这个为我工作这不适用于IBOutlets对象,但在uitableview的heightForRowAtIndexPath:method动态计算文本的高度时很有用.
NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                                           [UIFont fontWithName:@"FontName" size:15],NSFontAttributeName,nil];

CGRect frame = [label.text boundingRectWithSize:CGSizeMake(263,2000.0)
                                                     options:NSStringDrawingUsesLineFragmentOrigin
                                                  attributes:attributesDictionary
                                                     context:nil];

CGSize size = frame.size;

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...