iOS UILabel 高度为零,字符串为空
iOS UILabel zero height with empty String
我正在使用基于约束的布局。我有一些垂直堆叠的布局,例如:
顶级标签
错误标签
其他控制
使用约束,我将每个之间的垂直间距设置为10。问题出在没有错误状态的时候。在那种情况下,我设置了 UILabel.text = ""
。当我这样做时,它会将 OTHER CONTROL
向上移动。我不希望发生这种情况。我希望 errorLabel 的高度与一行文本相同,而不管我在其中放置了多少个字符。有没有一种优雅的方法可以做到这一点?
我考虑过的一些解决方法包括:
1) 设置一个填充标签(如XXX),然后使用alpha/color使标签消失。这让我写了更多的代码,而不仅仅是将 errorLabel 设置为空字符串。
2) 约束errorLabel的高度。这在恒定高度和我设置的字体大小之间创建了一个不变量(换句话说,如果我想调整字体高度,我必须记住调整硬编码高度)。
VerticalStackView 不是一个选项,因为我对 UI 整体有一些其他限制。
添加一串“”给标签一个固有的高度。
我正在使用基于约束的布局。我有一些垂直堆叠的布局,例如:
顶级标签
错误标签
其他控制
使用约束,我将每个之间的垂直间距设置为10。问题出在没有错误状态的时候。在那种情况下,我设置了 UILabel.text = ""
。当我这样做时,它会将 OTHER CONTROL
向上移动。我不希望发生这种情况。我希望 errorLabel 的高度与一行文本相同,而不管我在其中放置了多少个字符。有没有一种优雅的方法可以做到这一点?
我考虑过的一些解决方法包括:
1) 设置一个填充标签(如XXX),然后使用alpha/color使标签消失。这让我写了更多的代码,而不仅仅是将 errorLabel 设置为空字符串。
2) 约束errorLabel的高度。这在恒定高度和我设置的字体大小之间创建了一个不变量(换句话说,如果我想调整字体高度,我必须记住调整硬编码高度)。
VerticalStackView 不是一个选项,因为我对 UI 整体有一些其他限制。
添加一串“”给标签一个固有的高度。