为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

iOS
Cats萌萌 2019-11-07 11:03:34
是否可以自动调整UILabel框/边框的大小以适合所包含的文本?(我不在乎它最终是否大于显示屏)因此,如果用户输入“ hello”或“我的名字真的很长,我希望它适合此框”,它不会被截断并且标签会相应地“加宽”吗?
查看完整描述

3 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

如果我们希望UILabel根据文字大小缩小和扩展,那么自动布局的情节提要是最好的选择。以下是实现此目的的步骤


脚步

将UILabel放在视图控制器中,然后将其放置在所需的位置。也0用于的numberOfLines属性UILabel。


给它顶部,前导和尾部的空间图钉约束。


现在,它将发出警告,单击黄色箭头。


单击,Update Frame然后单击Fix Misplacement。现在,如果文本较少,则该UILabel将缩小,如果文本较多,则将扩展。


查看完整回答
反对 回复 2019-11-07
?
月关宝盒

TA贡献1772条经验 获得超5个赞

我创建了一些方法。


-(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];

}


查看完整回答
反对 回复 2019-11-07
  • 3 回答
  • 0 关注
  • 636 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信