【发布时间】:2018-12-16 23:26:20
【问题描述】:
我有以下视图树:
堆栈视图
- 轴:垂直
- 对齐:填充
- 分布:填充
- 间距:0
- 约束:
- - - 尾随空格:Superview
- - - 前导空格:Superview
- - - 顶部空间到:Superview
- - - 子视图:
- - - - - UIView(名称:VIEW_ONE)
- - - - - - - 约束:
- - - - - - - - 身高:60
- - - - - - - 子视图:
- - - - - - - - UIView(名称:VIEW_TWO)
- - - - - - - - - - - 约束:
- - - - - - - - - - - - 将 Y 中心对齐到:Superview
- - - - - - - - - - - - 尾随空格至:Superview
- - - - - - - - - - - - 前导空格:Superview
- - - - - - - - - - - - 高度:20
obs:StackView 位于占据整个屏幕的 UIView 内
在我尝试将 VIEW_ONE 的隐藏状态设置为 true 之前,一切正常。 Xcode UI 开始抱怨 VIEW_TWO:
- 需要约束:Y 位置或高度;
- 需要约束:X 位置或宽度。
为什么会这样?我尝试了很多方法来解决这个问题,但没有任何结果=/
【问题讨论】:
-
你能展示一下设计吗?
-
@iPeter,我刚刚更新了帖子:)
-
您的
stackView只包含一个子视图,那您为什么还要使用stackView。如我所见,您的第二个视图是您的第一个视图的子视图。 -
我的 stackView 实际上包含很多子视图。但我可以简化我必须解决的问题。我认为使用它作为示例会更简单。
-
看,如果你只有一个视图那么不需要将它嵌入到stackView中,你可以通过添加约束来简单地设置它的位置。但是,如果您有多个视图,并且需要将它们全部放置到某个位置并有一些间距,那么您应该使用
stackView。
标签: ios autolayout uistackview