我在 UITableView 中有一个 UILabel,它最多应该是 2 行,并且在它周围有一些填充(7 个左右和 2 个顶部和底部)。我正在使用自动布局并仅针对 iOS6 及更高版本。正在以编程方式创建和添加所有视图。
我已经对我的 UILabel 进行了子类化,init
方法如下:
- (id)init
{
self = [super init];
self.translatesAutoresizingMaskIntoConstraints = NO;
self.numberOfLines = 2;
self.backgroundColor = UIColorFromARGB(0x99000000);
self.textColor = [UIColor whiteColor];
self.font = [UIFont boldSystemFontOfSize:14.0f];
return self;
}
如果我添加它,我会得到正确的填充,但它只是一行:
- (void)drawTextInRect:(CGRect)rect {
UIEdgeInsets insets = {2, 7, 2, 7};
return [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}
我已经看过几次这个答案,但它对我不起作用(无效):
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines
{
UIEdgeInsets insets = {2, 7, 2, 7};
return [super textRectForBounds:UIEdgeInsetsInsetRect(bounds,insets) limitedToNumberOfLines:numberOfLines];
}
它在表格视图中是否有区别?任何帮助,将不胜感激。