我在故事板中添加了3个子视图到UIStackView。问题是我需要添加第四个子视图,它与第二个子视图重叠。一次只能看到两个重叠子视图中的一个。在Storyboard中指定是否容易,或者我需要在代码中添加和删除子视图?
要在UIStackView
上的第二个或第四个子视图之间切换,您不需要添加或删除子视图,只需要在它们上设置isHidden
属性即可。
堆栈视图有一个附加属性arrangedSubviews
,这些是堆栈视图将管理布局的子视图。如果你将isHidden
设置为true
并检查arrangedSubviews
属性,你会看到隐藏的视图有height
的0
。如果检查视图调试器,则隐藏视图在视图层次结构中根本不可见。堆栈视图将根据堆栈视图的属性布局其余视图。
这与普通视图略有不同,如果子视图的isHidden
属性变为true,则子视图仍然参与视图的布局,内容不会被绘制而且不会接收输入事件。