根据文字

时间:2016-09-02 02:37:27

标签: ios swift autolayout

我的文字可以是可变长度的。我想调整按钮的大小来显示文本。有时文本太多,在这种情况下我想将大小限制为一定的宽度。我怎么能为UIButton做到这一点。

enter image description here

以上是长篇文章。我想只显示40个字符。

我正在尝试使用该范围,我得到以下内容:

enter image description here

最终结果:

enter image description here

2 个答案:

答案 0 :(得分:7)

使用Autolayout,添加宽度约束,然后将宽度约束关系设置为小于或等于'到常数(最大宽度)。只要您没有其他固定宽度约束或间距约束,UIButton就会自动调整大小以适应文本直到最大值。

更新: 为了使用不同的屏幕尺寸,而不是添加宽度约束,请向超视图添加尾随空格(右侧)约束(例如)。然后将其设置为大于或等于'比如大概20分钟。这意味着间距将始终调整为尽可能大而不离开屏幕(宽度自动调整以适合文本)。

答案 1 :(得分:0)

我会创建一个变量来测量文本的长度,然后将按钮的帧分配给该变量乘以一定数量。如果文本超过一定数量(你的情况是40个字符),我会把按钮设置得更高,并将行数设置为0,这样它就会溢出到下一个。如果您只想将其限制为40,那么应该有一种方法可以防止输入超过40个字符。