如何在超级视图的顶部添加子视图的视图?

时间:2010-11-07 03:55:36

标签: iphone objective-c uiview uiviewcontroller addsubview

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

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

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

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

2 个答案:

答案 0 :(得分:7)

您可以通过调用

将子视图放在其他所有内容之前
[view bringSubviewToFront:subview];

您可以通过调用其setHidden函数来隐藏按钮(或任何其他UI元素),如下所示:

[button setHidden:YES];

答案 1 :(得分:1)

总是应用程序一次只能包含一个窗口。所以这是最好的方式。

UIWindow* mainWindow = [[UIApplication sharedApplication] keyWindow];
[mainWindow addSubview:yourView];