Iphone 如何在子视图中隐藏信息按钮?

Iphone 如何在子视图中隐藏信息按钮?,iphone,objective-c,subview,addsubview,Iphone,Objective C,Subview,Addsubview,我有一个mainViewController,在它的nib文件中我添加了一个信息按钮,其中的操作是在两个子视图(子视图a和子视图B)之间切换 在主视图控制器的viewDidLoad下,我插入子视图A。在这里,我注意到info按钮位于子视图A的前面,这很好 问题在于,当按下子视图A的nib文件中的任何按钮(在其中添加新的子视图)时,info按钮仍位于前面 那么,如何在所有父视图堆栈的前面添加这些后续子视图,使“信息”按钮不会出现?或者如何隐藏信息按钮?如果我理解正确,mainViewControl

我有一个mainViewController,在它的nib文件中我添加了一个信息按钮,其中的操作是在两个子视图(子视图a和子视图B)之间切换

在主视图控制器的viewDidLoad下,我插入子视图A。在这里,我注意到info按钮位于子视图A的前面,这很好

问题在于,当按下子视图A的nib文件中的任何按钮(在其中添加新的子视图)时,info按钮仍位于前面


那么,如何在所有父视图堆栈的前面添加这些后续子视图,使“信息”按钮不会出现?或者如何隐藏信息按钮?

如果我理解正确,mainViewController的视图有两个超级视图:子视图A和信息按钮。是否要将子视图添加到显示在infoButton视图上的子视图A

简单的答案是,不能使subviewA的子视图显示在infoButton视图上。如果将视图层次视为树,渲染器将以深度优先的方式绘制视图。这意味着在考虑infoButton视图之前,它会绘制subviewA和subviewA的所有子视图(等等)。如果希望视图显示在infoButton视图上,则需要将其作为infoButton的同级添加到主视图的子视图列表中的infoButton之后

如果要隐藏infoButton,只需将hidden属性设置为“是”,然后在希望infoButton视图重新出现时将其设置为“否”


取决于您使用SubVIEWA所做的事情,您可以考虑使用模态视图控制器或导航控制器来管理用户与SubVIEWA交互时添加的视图。

你好,亚当,谢谢您的响应。infoButton是mainViewController视图中的一个按钮。在子视图A中,我正在尝试加载一个视图,加载时,infoButton仍然位于我刚刚加载的视图的前面。子视图A已经是mainViewController的子视图。如何隐藏infoButton?我认为最简单的方法是简单地设置infoButton的hidden属性。将新视图添加到子视图时:infoButton.hidden=YES;当您希望infoButton再次出现时:infoButton.hidden=NO;好吧我们快到了。我确实希望infoButton位于子视图A中,但不在从子视图A加载的子视图中。如何从后面的子视图中隐藏infoButton?您不一定需要从后面的子视图中隐藏infoButton。在某些情况下,您会有一些代码将后面的子视图添加到子视图中;您可以添加一行代码,用相同的方法将infoButton视图的隐藏参数设置为YES。类似地,在删除后面的子视图的方法中添加一行,将infoButton的hidden属性设置为NO,这正是我要做的。因此,从mainViewController加载子视图A,如何才能到达子视图A中的信息按钮?会不会像。。。self.view.superview.infoButton.hidden=是吗?