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

时间:2010-11-07 04:55:14

标签: iphone objective-c subview addsubview

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

从mainViewController,在viewDidLoad下,我正在插入子视图A.这里我注意到信息按钮位于子视图A的前面,这很好。

问题在于,当按下位于子视图A的nib文件中的任何按钮时,它们会添加新的子视图,信息按钮保持在前面。

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

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你的mainViewController的视图有两个超级视图:subView A和infoButton。您想将子视图添加到infoButton视图上显示的subviewA吗?

简单的答案是,您无法在infoButton视图上显示subviewA的子视图。如果将视图层次结构视为树,则渲染器将以深度优先的方式绘制视图。这意味着它在考虑infoButton视图之前绘制了subviewA和subviewA的所有子视图(依此类推)。如果您希望视图显示在infoButton视图上,则需要在主视图的子视图列表中将其添加为infoButton 的兄弟 infoButton。

如果您想要隐藏infoButton,您只需将隐藏属性设置为YES,然后当您希望infoButton视图重新出现时将其设置为NO。

根据您对subviewA所做的操作,您可以考虑使用模态视图控制器或导航控制器来管理用户与subviewA交互时添加的视图。