UIStackView 在 Storyboard 中添加重叠视图
UIStackView add overlapping views in Storyboard
我在情节提要中向 UIStackView 添加了 3 个子视图。问题是我需要添加与第二个子视图重叠的第四个子视图。一次只能看到两个重叠子视图中的一个。在Storyboard中指定方便吗,还是需要在代码中增删子视图?
要在 UIStackView
的第二个或第四个子视图之间切换,您不需要添加或删除子视图,只需在它们上设置 isHidden
属性。
堆栈视图有一个额外的 属性 arrangedSubviews
,这些是堆栈视图将管理其布局的子视图。如果将 isHidden
设置为 true
并检查 arrangedSubviews
属性,您将看到隐藏视图的 height
为 0
。如果您检查视图调试器,隐藏的视图在视图层次结构中根本不可见。 stack view会根据stack view的属性对剩余view进行布局。
这与普通视图略有不同,如果子视图的 isHidden
属性 变为真,子视图仍然参与视图的布局,只是不绘制内容并且不接收输入事件。
我在情节提要中向 UIStackView 添加了 3 个子视图。问题是我需要添加与第二个子视图重叠的第四个子视图。一次只能看到两个重叠子视图中的一个。在Storyboard中指定方便吗,还是需要在代码中增删子视图?
要在 UIStackView
的第二个或第四个子视图之间切换,您不需要添加或删除子视图,只需在它们上设置 isHidden
属性。
堆栈视图有一个额外的 属性 arrangedSubviews
,这些是堆栈视图将管理其布局的子视图。如果将 isHidden
设置为 true
并检查 arrangedSubviews
属性,您将看到隐藏视图的 height
为 0
。如果您检查视图调试器,隐藏的视图在视图层次结构中根本不可见。 stack view会根据stack view的属性对剩余view进行布局。
这与普通视图略有不同,如果子视图的 isHidden
属性 变为真,子视图仍然参与视图的布局,只是不绘制内容并且不接收输入事件。