我上传了两张标签“Pick up location”和“Drop location”的图片。此标签在tableview单元格中设置。
在此图片中:
这两个标签设置为numberoflines = 3但文本从中间开始
我想要这个:
我已经使用set属性numberofLines = 0和标签高度> =标签做了这件事。 但设置此属性我必须找到标签实际高度与文本,然后根据标签高度我设置其他控件。
在这种情况下,Sizetofit不起作用
我想:标签高度是固定的。 NumberofLines = 3,标签从左上角开始
感谢您的帮助
答案 0 :(得分:0)
创建UILabel的子类并将其命名为MyTopAlignedLabel。
然后将其添加到MyTopAlignedLabel.m文件中:
- (void)drawTextInRect:(CGRect)rect {
if (self.text) {
CGSize labelStringSize = [self.text boundingRectWithSize:CGSizeMake(CGRectGetWidth(rect), CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
attributes:@{NSFontAttributeName:self.font}
context:nil].size;
CGFloat height = MIN(ceilf(labelStringSize.height), CGRectGetHeight(rect));
[super drawTextInRect:CGRectMake(0, 0, rect.size.width, height)];
} else {
[super drawTextInRect:rect];
}
}
将Interface Builder中的标签设置为此类。