2016-12-05 82 views
0

我有4次 ,其是具有相等宽度的限制 现在我想使一个人的宽度为零 而其它视图调整大小(宽度方向)自身来填充它的地方 我该如何实现它?均等宽度约束具有一个或多个视图宽度等于零

+0

可能重复[自动布局如何隐藏1视图与3等宽视图](http://stackoverflow.com/questions/38364555/auto-layout-how-to-hide-1-view-在-A-视图与-3-等于宽度视图) –

回答

0

你应该看看UIStackView。 UIStackView完全符合你的需求。但请注意,UIStackView仅适用于iOS 9和更高版本。

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

  1. 您应该从视图中除去“宽度相等”约束
  2. 添加新的限制,以你的观点
  3. 呼叫layoutIfNeeded()方法来应用限制

你可以创建像这样的新约束:

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

我希望你可以使用UI StackView,因为它更简单的方法。

相关问题