猿问

UILabel-自动调整大小以适合文本的标签?

是否可以自动调整UILabel框/边框的大小以适合所包含的文本?(我不在乎它最终是否大于显示屏)

因此,如果用户输入“ hello”或“我的名字真的很长,我希望它适合此框”,它不会被截断并且标签会相应地“加宽”吗?


Cats萌萌
浏览 637回答 3
3回答

慕的地6264312

如果我们希望UILabel根据文字大小缩小和扩展,那么自动布局的情节提要是最好的选择。以下是实现此目的的步骤脚步将UILabel放在视图控制器中,然后将其放置在所需的位置。也0用于的numberOfLines属性UILabel。给它顶部,前导和尾部的空间图钉约束。现在,它将发出警告,单击黄色箭头。单击,Update Frame然后单击Fix Misplacement。现在,如果文本较少,则该UILabel将缩小,如果文本较多,则将扩展。

月关宝盒

我创建了一些方法。-(CGFloat)heightForLabel:(UILabel *)label withText:(NSString *)text{    CGSize maximumLabelSize     = CGSizeMake(290, FLT_MAX);    CGSize expectedLabelSize    = [text sizeWithFont:label.font                                constrainedToSize:maximumLabelSize                                    lineBreakMode:label.lineBreakMode];    return expectedLabelSize.height;}-(void)resizeHeightToFitForLabel:(UILabel *)label{    CGRect newFrame         = label.frame;    newFrame.size.height    = [self heightForLabel:label withText:label.text];    label.frame             = newFrame;}-(void)resizeHeightToFitForLabel:(UILabel *)label withText:(NSString *)text{    label.text              = text;    [self resizeHeightToFitForLabel:label];}
随时随地看视频慕课网APP

相关分类

iOS
我要回答