我需要水平布局两个标签和一个图像:
[label1]-10-[icon]-10-[label2]
问题是当 label1
没有文本(即空文本)时,左边缘和 icon
之间仍然有 10 pts 的间距。
我目前的做法是,每当我设置任何标签的文本时,我都会删除所有约束并重新添加它们,间距取决于文本。这显然效率不高,因为标签位于可以重复使用的单元格中,因此每次重复使用单元格时,都会删除并重新应用约束。
接下来我想尝试的是为 label1
和 icon
设置一个专用约束,所以每次我设置 label1
的文本,我将添加或删除专用约束。
我也想知道有没有更好的方法来做到这一点?如果它从根本上改变了我布局它们的方式,那很好。
谢谢
最佳答案
- 将 label1 放入 View 中
- 在 label1 的右边缘和 View 的右边缘之间设置 10px 的间距
- 设置约束
[ View ]-0-[icon]-10-[label2]
关于iOS 自动布局约束 : ignore hidden or zero-size view?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19581281/