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