代码之家  ›  专栏  ›  技术社区  ›  Aran Mulholland JohnnyAce

UILabel:调整边距以匹配UITextView

  •  2
  • Aran Mulholland JohnnyAce  · 技术社区  · 14 年前

    我有一个UILabel,如果我调整文本的大小,我可以使它看起来像UITextView,但是左边距是不同的,UILabel上的文本正好靠着UITextView有一个小边距的左边框。如何调整UILabel,使这些控件相互重叠时看起来一致?

    1 回复  |  直到 14 年前
        1
  •  5
  •   user269597 user269597    14 年前

    只需更改标签的框架:

    CGRect frame = label.frame;
    CGRect newFrame = CGRectMake(frame.origin.x + MARGIN, frame.origin.y, frame.size.width - MARGIN, frame.size.height);
    label.frame = newFrame;
    

    当然,用你想要的保证金来代替保证金。

    或者你可以把 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];
    }
    

    希望这有帮助!