iOS 自动布局约束 : ignore hidden or zero-size view?

标签 ios objective-c nslayoutconstraint

我需要水平布局两个标签和一个图像:

[label1]-10-[icon]-10-[label2]

问题是当 label1 没有文本(即空文本)时,左边缘和 icon 之间仍然有 10 pts 的间距。

我目前的做法是,每当我设置任何标签的文本时,我都会删除所有约束并重新添加它们,间距取决于文本。这显然效率不高,因为标签位于可以重复使用的单元格中,因此每次重复使用单元格时,都会删除并重新应用约束。

接下来我想尝试的是为 label1icon 设置一个专用约束,所以每次我设置 label1的文本,我将添加或删除专用约束。

我也想知道有没有更好的方法来做到这一点?如果它从根本上改变了我布局它们的方式,那很好。

谢谢

最佳答案

  1. 将 label1 放入 View 中
  2. 在 label1 的右边缘和 View 的右边缘之间设置 10px 的间距
  3. 设置约束[ View ]-0-[icon]-10-[label2]

关于iOS 自动布局约束 : ignore hidden or zero-size view?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19581281/

相关文章:

ios - 在任何 iOS 设备上复制 CVPixelBuffer

objective-c - 如何在 Cocos2d 中使用 ARC 属性持有对子节点的引用

objective-c - 枚举对象与选项 :usingBlock: causing frequent unexplained freezes

objective-c - 如何使用 objective-c 中的同名类而不是 swift

swift - 未遵守程序约束

ios - 单行 UILabel 拥抱不适用于自动收缩

iphone - 处理单例对象

ios - 我也可以像 xcassets 一样在源代码中切片图像资源吗?

ios - UITableView 行在 UITableViewHeaderSection 下滑动

ios - NSLayoutConstraint 更改后,systemLayoutSizeFittingSize 不起作用