如何限制 UILabel 的最大宽度?

Posted

技术标签:

【中文标题】如何限制 UILabel 的最大宽度?【英文标题】:How to limit max width of UILabel? 【发布时间】:2014-12-24 05:17:57 【问题描述】:

在UIView的中心有一个UILabel,命名为nicknameLabel,在nicknameLabel后面会附加一个性别图片。

但是当nicknameLabel有很多文字时,就会超出UIView的范围。

那么,

顺便说一句:我使用故事板。谢谢。

【问题讨论】:

给标签一个 【参考方案1】:

给标签一个 约束,如下所示:

【讨论】:

一些非常有用的东西,但我这么久都没注意到!谢谢!【参考方案2】:

使用code 并将您的width 设置为boundingRectWithSize 值。

CGSize itemTextSize = [@"Your Text" boundingRectWithSize:CGSizeMake(100, 30) options:NSStringDrawingUsesLineFragmentOrigin attributes:@NSFontAttributeName : [UIFont fontWithName:@"Helvetica Neue" size:12.5] context:nil].size;

【讨论】:

【参考方案3】:

如果您正在使用约束,则从您的标签中删除所有约束。

然后再次设置标签的框架,如果要制作多行标签,则只需将行数从 1 设置为 0 并增加标签的高度。

如果您想在标签内调整文本。您只需启用 Autoshrink 属性即可。

【讨论】:

不错且快速的答案。谢谢。

以上是关于如何限制 UILabel 的最大宽度?的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 UILabel(没有设置宽度只是 AutoLayout)是不是像(你好我是测试......)一样被截断?

我想将自动布局应用于 UILabel,例如灵活的高度和宽度

如何创建具有最大宽度的多行 UILabel?

如何根据宽度有限的文本更改 UILabel 大小

IOS UILabe及UIFont用法总结

AutoLayout动态调整UILabel高度和宽度