我的应用程序中有将UIView
添加到根视图控制器视图的代码。该视图是半透明的,并且用作覆盖整个应用程序的模式叠加层(该视图包含一个按钮,单击该按钮可从其超级视图中删除该视图,这是用户返回主应用程序的方式)。
到现在为止,这种方法一直很好,但是现在我们使用UIPopoverController
并尝试使用相同的模式覆盖来阻止主应用程序。问题在于此UIView
显示在弹出框的后面,而不是在弹出框的顶部。
有什么方法可以将子视图添加到根视图控制器的视图中,使其出现在任何可见的UIPopoverController
顶部,但不会将其关闭吗?
最佳答案
关于UIPopoverController的参考指出:
“弹出式窗口内容在特殊类型的窗口中位于您现有内容的顶部。”
subviews-array的NSLogging显示,该视图未添加到显示该视图的viewController的视图层次结构中。从我的角度来看,您尝试做的事情是不可能的。
这是一个主意:
您可以将阻止的UIView添加到UIPopOverController的contentViewController中,并使用它在contentViewController上设置属性。
然后,将您的主viewController设置为弹出窗口的委托,它实际上显示UIPopoverController,并执行以下操作:
- (void) popoverControllerShouldDismissPopover:(UIPopoverController*)popoverController
{
if(popoverController.contentViewController.yourProperty)
{
return YES;
}
return NO;
}
我不知道这对您目前的情况有多大帮助,但是也许它可以帮助您入门。
关于ios - 有什么办法可以将UIView放在UIPopoverController上方吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10458390/