移除最近邻居后查看的约束

Constraint to view after nearest neighbour removed

对不起,如果标题不是最好的,但我真的不知道如何用几句话来解释它。

所以,我有一个带有标签和图像的视图。有两种情况。一个我不需要图像,只需要标签(最常见的)。还有一个我需要图像和标签的地方,在某些时候我必须通过动画删除图像(这个是处理过的)。

现在。对于我只需要我考虑使用约束的标签的那个。我想要左边 15 的间距和去超级视图的约束,而且当有图像时我希望约束去图像。我添加一张图片以使其更清楚。我怎样才能做到这一点?

为此你应该绑定 (采用 @IBOutlet) UIImageView's 宽度约束和前导约束 你需要像

一样在cellForRowAtIndexPath中管理它
if isOnlyLabel { // "isOnlyLabel" it's just for understanding 
  // Here you have only label not image
  // Set image with constraint = 0 and leading = 0
}
else {
   // Here you have label + image
  // Set image with constraint = 60 and leading constraint = 15 Or as you want
}

实际上你也可以从 XIB 做同样的事情。

Select 来自 XIB 的 leadingConstraint 出口并为约束创建出口。

它将创建一个 属性 类型的 NSLayoutConstraint,然后将值设置为 0 以防您不想显示 ImageView

  self.imageViewLeadingConstraint.constant = 0;

也对 ImageView 宽度重复相同的过程。