如果没有任何文字,为什么UILabel的身高会变为零?

时间:2017-08-25 15:45:23

标签: ios autolayout uilabel

我希望从标签中保留一行的最小高度,即使你删除了它的文字。

这是图片:

enter image description here

它应该如何(但没有空格):

enter image description here

如果我输入其中的一个空格,其高度会得到纠正。但我不想把空白放入空标签。应该有一个更好的解决方案。

3 个答案:

答案 0 :(得分:9)

UILabel控件具有内在内容大小,因此如果您没有任何文本,则height将为零,如果您需要分钟height,则必须定义高度约束> =你的minValue正如我在评论中所说的那样

我认为你可以弄清楚这是怎么做的

答案 1 :(得分:5)

首先,添加宽度和高度限制:

enter image description here

第二次,将Equal更改为Bigger Than(宽度和高度都可以,高度可以是小的,如8):

enter image description here

最后,您可以自由更改标签的字体大小,标签会随着字体大小变大。如果删除文字,标签大小将为(42,8):

enter image description here

答案 2 :(得分:0)

一种解决方法是改为使用UITextField,将isEnabled设置为false,并将placeholder属性设置为" "

只要您不需要宽度总是小于单个空格的宽度-UITextFields'的大小默认情况下是使用placeholder属性来计算的-那么它将始终不论其是否包含文本,其高度都应为非空UITextField