Xcode7 - 等高乘数约束导致约束冲突
Xcode7 - equal heights multiplier constraint causing conflicting constraints
我正在尝试与 Xcode7 中的 the OP of this question 几乎相同的事情。
我的最终目标是让垂直 StackView
有两个子视图:一个占据父级高度的 70%,另一个占据剩余的 30%。
我按照我链接的 post 中的说明进行操作。我选择了子视图(GMSMapView
)和父视图 StackView
,并选中了 Pin
约束菜单中的 equal heights
框。那工作得很好而且花花公子。但是,当我从 GMSMapView
的大小检查器编辑该约束并将乘数更改为 .7
时,突然出现 conflicting constraints
错误!
这是我正在处理的场景的图片:
这是错误的图片:
有谁知道如何解决这些冲突?我尝试关闭 Autoresize Subviews
但不确定是否有效,因为我无法删除错误消息中显示的某些约束。
UIStackView
的高度基于其子视图的大小(除非您使用 UIStackViewDistributionFillEqually
)。
前两个冲突约束的计算结果为
Stack View.height = View.height
Map View.height = 0.7 x Stack View.height
但是由于 UIStackView
的高度基于其子视图,因此本质上存在第三个约束。
Stack View.height = Map View.height
所有这些约束不能同时存在,因为它们相互冲突。
我能想到两个方案。
删除 UIStackView
。由于它只包含一个视图,因此使用它不会给您带来任何好处,只会让事情变得复杂。
如果这不是一个选项,您将需要删除一些限制,这样您就不会将 UIStackView
限制到特定高度。
我正在尝试与 Xcode7 中的 the OP of this question 几乎相同的事情。
我的最终目标是让垂直 StackView
有两个子视图:一个占据父级高度的 70%,另一个占据剩余的 30%。
我按照我链接的 post 中的说明进行操作。我选择了子视图(GMSMapView
)和父视图 StackView
,并选中了 Pin
约束菜单中的 equal heights
框。那工作得很好而且花花公子。但是,当我从 GMSMapView
的大小检查器编辑该约束并将乘数更改为 .7
时,突然出现 conflicting constraints
错误!
这是我正在处理的场景的图片:
这是错误的图片:
有谁知道如何解决这些冲突?我尝试关闭 Autoresize Subviews
但不确定是否有效,因为我无法删除错误消息中显示的某些约束。
UIStackView
的高度基于其子视图的大小(除非您使用 UIStackViewDistributionFillEqually
)。
前两个冲突约束的计算结果为
Stack View.height = View.height
Map View.height = 0.7 x Stack View.height
但是由于 UIStackView
的高度基于其子视图,因此本质上存在第三个约束。
Stack View.height = Map View.height
所有这些约束不能同时存在,因为它们相互冲突。
我能想到两个方案。
删除 UIStackView
。由于它只包含一个视图,因此使用它不会给您带来任何好处,只会让事情变得复杂。
如果这不是一个选项,您将需要删除一些限制,这样您就不会将 UIStackView
限制到特定高度。