有没有办法将 UIView 放在 UIPopoverController 上方?
Posted
技术标签:
【中文标题】有没有办法将 UIView 放在 UIPopoverController 上方?【英文标题】:Is there any way to place a UIView above a UIPopoverController? 【发布时间】:2012-05-05 02:45:16 【问题描述】:我的应用程序中有代码将UIView
添加到根视图控制器的视图中。此视图是半透明的,并用作覆盖整个应用程序的模态覆盖(该视图包含一个按钮,当单击该按钮时,会从其父视图中删除该视图,这是用户返回主应用程序的方式)。
到目前为止,这一切正常,但现在我们正在使用UIPopoverController
s 并尝试使用相同的模态覆盖来阻止主应用程序。问题是这个UIView
显示在弹出框的后面,而不是在它的顶部。
有没有办法将子视图添加到根视图控制器的视图中,使其显示在任何可见的UIPopoverController
s 之上,但不会关闭它们?
【问题讨论】:
【参考方案1】:UIPopoverController 上的参考说明:
“弹出框内容以一种特殊类型的窗口叠加在现有内容之上。”
子视图数组的 NSLogging 显示,该视图未添加到显示它的 viewController 的视图层次结构中。从我的角度来看,您尝试做的事情是不可能的。
这里有一个想法:
你可以将你的阻塞 UIView 添加到 UIPopOverController 的 contentViewController 并使用它来设置 contentViewController 的属性。
然后您将实际显示 UIPopoverController 的主视图控制器设置为弹出框的委托,并执行以下操作:
- (void) popoverControllerShouldDismissPopover:(UIPopoverController*)popoverController
if(popoverController.contentViewController.yourProperty)
return YES;
return NO;
我不知道这对您目前的情况有多大帮助,但也许它可以帮助您入门。
【讨论】:
这对我目前的情况没有帮助,这是“搞砸”的。我想实现一个自制的 popover 解决方案(不会有这个问题),但这需要将我们所有的视图控制器转换为视图,而我的团队的其他成员不想这样做。跨度>以上是关于有没有办法将 UIView 放在 UIPopoverController 上方?的主要内容,如果未能解决你的问题,请参考以下文章
将 AVPlayerViewController 放在 UIView 中
如何快速将一半的集合视图单元格放在 UIView 上方? [关闭]
有没有办法将 UIView 嵌入到 UIScrollview 中而不会丢失 iOS 中的子视图约束?