我有一个UILabel,如果我调整文本的大小,我可以让它看起来像UITextView但是左边距是不同的,在UIlabel上文本正好对着UITextView略有边缘的左边框。如何调整UILabel,以便当这些控件放在彼此之上时,它们看起来一致?
答案 0 :(得分:5)
只需更改标签的框架:
CGRect frame = label.frame;
CGRect newFrame = CGRectMake(frame.origin.x + MARGIN, frame.origin.y, frame.size.width - MARGIN, frame.size.height);
label.frame = newFrame;
当然,用你想要的保证金替换MARGIN。
或者您可以继承UILabel
并覆盖textRectForBounds:limitedToNumberOfLines:
,如下所示:
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines {
CGRect newBounds = CGRectMake(bounds.origin.x + MARGIN, bounds.origin.y, bounds.size.width - MARGIN, bounds.size.height);
return [super textRectForBounds:newBounds limitedToNumberOfLines:numberOfLines];
}
希望这有帮助!