如何隐藏/显示视图控制器XIB内“容器”视图中分层的视图

时间:2015-07-13 21:24:32

标签: ios objective-c xcode xamarin xamarin.ios

以下问题仅在我的物理设备(iPhone 6+)上进行测试时才会出现。它适用于模拟器。

我有一个带有页眉和页脚部分的viewcontroller,根据当前状态显示/隐藏不同的子视图。

容器的子视图使用AutoLayout在viewcontroller XIB中定义,并添加到ViewDidLoad上各自的容器中。

问题是,在我将子视图添加到页眉和页脚容器之后,我无法更改子视图的“隐藏”属性以有效地显示我需要显示/隐藏的属性。

xib file

您可以看到此断点,例如,它显示隐藏属性被强制转换为在ViewDidLoad上分配的值,我将其默认为false。

enter image description here

我尝试使用 BringSubviewsToFront ,但这也无效。子视图保留了ViewDidLoad之后的隐藏值。

2 个答案:

答案 0 :(得分:0)

我认为您应该替换页眉/页脚项而不是更改其可见性。

答案 1 :(得分:0)

实际上,我现在可以通过将它们作为容器视图的索引而不是插座来隐藏/显示子视图。

所以通过替换:

defaultFooterView.Hidden = true; //an outlet to the view on the XIB

(有效):

containerView.Subviews[0].Hidden = true; //the defaultFooterView 

它有效。