如果您想关闭弹出窗口 - 例如,从弹出窗口的 contentViewController 中的按钮,您必须 -
- 创建对弹出窗口的引用,该引用由创建它的视图控制器保存
- 从 contentViewController 创建一个通知,让所属视图控制器知道它应该被关闭,或者为相同目的创建一个委托
- 当弹出窗口准备好关闭时发送通知或委托消息
- Call
dismissPopover:animated
当通知或委托方法被调用时
与此同时,来自一个UIViewController
您可以访问模态视图控制器、父视图控制器、导航控制器、分割视图控制器、选项卡栏控制器、搜索显示控制器、子视图控制器、呈现视图控制器和呈现视图控制器。
有没有更好的方法可以从弹出窗口的 contentViewController 中执行此操作?
不幸的是,您必须创建一个对所述的弱属性引用UIPopoverController
因为无法从内容视图控制器内访问它。
我很惊讶 UIViewControllers 如何访问模式视图控制器、父视图控制器、导航控制器、分割视图控制器、选项卡栏控制器、搜索显示控制器,以及从 iOS 5 开始,子视图控制器以及呈现并提供了控制器...但不是弹出窗口控制器(当然弹出窗口不是UIViewController
但仍然)。
从技术上讲,有一个私有的、未记录的方法来检索 UIViewController 所在的 popoverController...我不知道为什么他们从未将其公开,因为它应该与上述任何控制器完全相同。
尽管即使在私人的、无证的世界中,也没有等同的dismissModalViewcontrollerAnimated:
。您仍然需要获取该参考信息,然后以这种方式将其忽略。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)