【发布时间】:2010-06-17 08:29:45
【问题描述】:
我有一个 UILabel,如果我调整文本的大小,我可以让它看起来像一个 UITextView,但是左边距不同,在 UIlabel 上,文本正好靠在 UITextView 有轻微边距的左边框上.如何调整 UILabel 以便当这些控件相互叠加时,它们看起来一致?
【问题讨论】:
标签: iphone uitextfield uilabel margins
我有一个 UILabel,如果我调整文本的大小,我可以让它看起来像一个 UITextView,但是左边距不同,在 UIlabel 上,文本正好靠在 UITextView 有轻微边距的左边框上.如何调整 UILabel 以便当这些控件相互叠加时,它们看起来一致?
【问题讨论】:
标签: iphone uitextfield uilabel margins
只需更改标签的框架:
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];
}
希望这会有所帮助!
【讨论】: