我可以设置UILabel来扩展以适应任意数量的文本吗?

时间:2009-09-24 16:13:13

标签: iphone cocoa-touch interface-builder uilabel

此问题更多用于开发目的,绝不会用于运费应用。我需要做一个快速而又脏的UILabel,其文本字段我可以指向一个非常非常长的字符串。真的很长我非常喜欢IB,无法弄清楚正确的魔术握手,让UILabel气球到一个非常大的尺寸。有没有人有任何想法?

干杯, 道格

1 个答案:

答案 0 :(得分:11)

您可以使用UIKit additions to NSString中的方法来实现此目的。您可以使用this method获取尺寸:

- (CGSize)sizeWithFont:(UIFont *)font
           minFontSize:(CGFloat)minFontSize
        actualFontSize:(CGFloat *)actualFontSize
              forWidth:(CGFloat)width
         lineBreakMode:(UILineBreakMode)lineBreakMode

将标签的大小设置为此方法的返回值,您已全部设置。

编辑:该方法适用于单行字符串。如果您的字符串不止一行,请使用this method

- (CGSize)sizeWithFont:(UIFont *)font
     constrainedToSize:(CGSize)size
         lineBreakMode:(UILineBreakMode)lineBreakMode