如何在其父视图之上添加子视图中的视图?
Posted
技术标签:
【中文标题】如何在其父视图之上添加子视图中的视图?【英文标题】:How can I add a view from subviews on top of its superview? 【发布时间】:2010-11-07 03:55:36 【问题描述】:我有一个 mainViewController,在它的 nib 文件中我添加了一个信息按钮,其中的动作是在两个子视图之间翻转,子视图 A 和子视图 B。
在 mainViewController 的 viewDidLoad 下,我正在插入子视图 A。这里我注意到信息按钮在子视图 A 的前面,这很好。
问题来了,当按下位于子视图 A 的 nib 文件中的任何按钮时,它们会在其中添加新的子视图,信息按钮仍保留在前面。
那么,我怎样才能在所有父视图堆栈的前面添加这些后来的子视图,这样信息按钮就不会出现?或者如何隐藏信息按钮?
【问题讨论】:
【参考方案1】:您可以通过调用将子视图放在其他所有内容的前面
[view bringSubviewToFront:subview];
您可以通过调用它的 setHidden 函数来隐藏按钮(或任何其他 UI 元素),如下所示:
[button setHidden:YES];
【讨论】:
【参考方案2】:始终应用程序一次只能包含一个窗口。所以这是最好的方法。
UIWindow* mainWindow = [[UIApplication sharedApplication] keyWindow];
[mainWindow addSubview:yourView];
【讨论】:
以上是关于如何在其父视图之上添加子视图中的视图?的主要内容,如果未能解决你的问题,请参考以下文章
如果我的子视图的大小与其父视图相同,如何使用 ctrl-drag 在 IB 中设置约束?