【问题标题】:How can I dismiss a UIPopoverController without knowing the reference of it?如何在不知道 UIPopoverController 引用的情况下关闭它?
【发布时间】:2012-03-11 20:12:25
【问题描述】:

正如我上面所说的。我遇到了一个问题,当我不知道它来自哪里时,我必须关闭屏幕上的弹出框。

我想做的是:当应用程序处于非活动状态时,我想关闭弹出框。但是不知道popover是在哪里呈现的,又是哪个controller响应的呢?

当 UIPopover 出现时,是否有我可以收听的通知?

或者我可以在屏幕上找到弹出框吗?

谢谢你们。

【问题讨论】:

标签: objective-c ipad uipopover


【解决方案1】:

只需将您自己的 UIPopoverController 和 overridepresentPopoverFromRect:inView:permittedArrowDirections:animatedpresentPopoverFromBarButtonItem:permittedArrowDirections:animated 实现子类化,并跟踪全局数组中的弹出框引用。由于 Apple 的 HIG 表示屏幕上一次只允许一个弹出窗口,因此您只需要跟踪最后一个。

【讨论】:

  • 感谢您的回答,这将是解决我的问题的好方法,当您提到“跟踪弹出框引用”时,您的意思是发布通知吗?顺便说一句,如果我需要继承 UIPopoverController,我必须更改所有类,并且必须告诉其他人使用我的子类而不是官方类。
猜你喜欢
  • 2011-10-05
  • 2023-03-10
  • 2019-02-24
  • 2018-03-26
  • 1970-01-01
  • 2019-03-21
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
相关资源
最近更新 更多