从 UIPopoverController 外点击后获取边界

Posted

技术标签:

【中文标题】从 UIPopoverController 外点击后获取边界【英文标题】:Get Bounds after tap outside from a UIPopoverController 【发布时间】:2013-11-14 09:33:57 【问题描述】:

想象一个带有 2 个 UITextField 的 ViewController。当您点击 TextField1 时,它会出现一个 Popover。

现在,如果我点击弹出框,它就会消失(确定)。但是,我想要这种行为:

如果我在弹出框外部单击,并且此点击位于 TextField2 上,我想关闭弹出框(确定)并引发事件(例如,从 TextField2 打开其他弹出框)。

我试过这个解决方案:Iphone SDK dismissing Modal ViewControllers on ipad by clicking outside of it

但是如果 popover 可见,handleTapBehind 方法不会执行。

有可能吗?

谢谢!

【问题讨论】:

【参考方案1】:

你应该实现UIPopoverControllerDelegate

并使用

popoverControllerShouldDismissPopover:
popoverControllerDidDismissPopover:

see More了解详情

【讨论】:

我已经实现了。但是使用这些方法,我只能通过参数接收 UIPopoverController 参考。我需要点击的边界来知道用户是否点击了另一个视图(例如,文本字段、按钮等)

以上是关于从 UIPopoverController 外点击后获取边界的主要内容,如果未能解决你的问题,请参考以下文章

当 UIPopoverController 处于活动状态时,UIWebView 未检测到点击

点击 NavigationBar 和 NavigationBar 项时 UIPopoverController 不会关闭

UIPopoverController 在“点击关闭”时关闭 - 我如何检测此事件?

从 Uipopovercontroller 列表视图内容调用多个视图

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

用 -dismissPopoverAnimated 解散 UIPopoverController:不会调用委托?