【问题标题】:Get Bounds after tap outside from a UIPopoverController从 UIPopoverController 外点击后获取边界
【发布时间】:2025-11-21 08:35:02
【问题描述】:

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

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

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

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

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

有可能吗?

谢谢!

【问题讨论】:

    标签: ios uipopovercontroller popover dismiss


    【解决方案1】:

    你应该实现UIPopoverControllerDelegate

    并使用

    popoverControllerShouldDismissPopover:
    popoverControllerDidDismissPopover:
    

    see More了解详情

    【讨论】:

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