按下外部时 UIPopoverController 不会自动关闭

Posted

技术标签:

【中文标题】按下外部时 UIPopoverController 不会自动关闭【英文标题】:UIPopoverController not dismissed automatically when pressing outside 【发布时间】:2012-06-08 14:50:01 【问题描述】:

我需要在 iPad 导航栏左上角的三个按钮。从这里的另一篇文章中,我收到了在此处放置工具栏的建议,因为导航栏只允许一个左侧栏项目。现在有三个按钮(创建、重新排序、删除),每个按钮都会打开另一个弹出框。

不好的是在工具栏内点击不会关闭任何弹出窗口。如果我在导航栏的可见部分内部以及下方的任何位置(弹出框之外)点击,弹出框就会消失。但是当我点击位于导航栏上方的工具栏的剩余区域时(由于翻译,它应该比英文按钮要求的更宽),弹出框不会消失。更糟糕的是,如果我点击任何一个按钮,它的弹出框就会出现,覆盖在现有按钮上。我什至可以堆叠相同的弹出框。

我可以想出一种方法来停止覆盖弹出框(在显示新弹出框之前,检查旧弹出框),但是在工具栏的空白区域中点击呢?

非常感谢任何帮助 - 包括如何在导航栏的左半边添加三个按钮的其他提示。

问候,诺比

【问题讨论】:

请参阅here 以获取具有解决方案想法的类似问题。似乎是一个需要手动实施工作的领域。 最后可以在这里找到解决方案:***.com/questions/11578117/… 【参考方案1】:

最后,可以在这里找到解决方案:

UIPopoverController not dismissed when opened from self.navigationItem (inside UINavigationController)

诀窍是将UIPopoverControllerpassThroughViews设置为nil

【讨论】:

以上是关于按下外部时 UIPopoverController 不会自动关闭的主要内容,如果未能解决你的问题,请参考以下文章

如何告诉 UIViewController 在 UIPopOverController 中按下了按钮?

谷歌地图风格的uipopovercontroller

UIPopoverController 委托未在解雇时被调用

UIWebView 播放全屏 youtube 电影时如何隐藏 UIPopoverController?

设置 UIPopOverController 大小

UINavigationController 在 UIPopOverController 中不起作用