UILabel:调整边距以匹配UITextView

时间:2010-06-17 08:29:45

标签: iphone uitextfield uilabel margins

我有一个UILabel,如果我调整文本的大小,我可以让它看起来像UITextView但是左边距是不同的,在UIlabel上文本正好对着UITextView略有边缘的左边框。如何调整UILabel,以便当这些控件放在彼此之上时,它们看起来一致?

1 个答案:

答案 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];
}

希望这有帮助!