等宽度约束,一个或多个视图的宽度等于零

时间:2016-12-05 08:20:37

标签: ios xcode storyboard nslayoutconstraint

我有4个观看次数 它们具有相同的宽度约束 现在我想把一个宽度设为零 而其他视图调整(宽度方面)自己来填补它的位置 我该如何实现呢?

1 个答案:

答案 0 :(得分:0)

你应该看看UIStackView。 UIStackView完全满足您的需求。但请注意,UIStackView仅适用于iOS 9及更高版本。

如果您必须支持低于9.0的iOS,则应在删除其中一个视图或调整其大小时手动更改约束。 要手动执行此操作:

  1. 你应该删除相等的宽度'来自您观点的限制
  2. 为您的观点添加新约束
  3. 调用layoutIfNeeded()方法以应用约束
  4. 您可以创建这样的新约束:

    let view1Cnst = NSLayoutConstraint(item: view1, attribute: .width, relatedBy: .equal, toItem: view2, attribute: .width, multiplier: 1.0, constant: 1.0)
    view1.addConstraint(view1Cnst)
    

    我希望您可以使用UIStackView,因为它更容易接近。

相关问题