UILabel:调整边距以匹配UITextView

Ara*_*and 2 iphone margins uitextfield uilabel

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

rob*_*jam 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;
Run Code Online (Sandbox Code Playgroud)

当然,用任何你想要的保证金来代替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];
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!