我觉得这是一个非常简单的问题 - 我已经搜索了高低的答案并且没有提出任何问题。 在我的UITableViewController中,我设置了自定义UITableViewCell的UILabel文本(在故事板中制作)。我希望标签的宽度是文本的宽度(这并不难计算)加上大约20的常数。我无法找到一种设置方法吗? 我是否必须以编程方式创建UILabel?自动布局可以帮我解决这个问题吗?
答案 0 :(得分:1)
在界面构建器中,这可能是不可能的,因为您已经描述过它。您可以做的一件事是为标签的内在内容大小指定不同的值。创建一个迷你UILabel子类:
@interface Plus20UILabel : UILabel
@end
@implementation Plus20UILabel
-(CGSize)intrinsicContentSize{
CGSize contentSize = [super intrinsicContentSize];
return CGSizeMake(contentSize.width + 20, contentSize.height);
}
@end
然后在IB中指定标签是Plus20UILabel。这会将新值提供给AutoLayout引擎并相应地调整标签和所有内容。