ios – 如何从显示在浏览器中的UIViewController找到UIPopoverController?

ios – 如何从显示在浏览器中的UIViewController找到UIPopoverController?,第1张

概述使用UIViewController的一个实例,有没有办法找到用来呈现的UIPopoverController?我也想找到首先显示UIPopoverController的UIViewController。 我通常会使用委托或其他类型的通知从显示的视图控制器发送一个信号到显示视图控制器,但在这种情况下,我正在尝试创建一个可重用的自定义segue,它会关闭popover,然后移动到另一个视图在主视图中 使用UIVIEwController的一个实例,有没有办法找到用来呈现的UIPopoverController?我也想找到首先显示UIPopoverController的UIVIEwController。

我通常会使用委托或其他类型的通知从显示的视图控制器发送一个信号到显示视图控制器,但在这种情况下,我正在尝试创建一个可重用的自定义segue,它会关闭popover,然后移动到另一个视图在主视图中。

解决方法 你会认为这很简单(UIVIEwController甚至有一个私有_popoverController属性!),但它不是。

一般的答案是,在创建UIVIEwController时,必须将UIPopoverController的UIPopoverController保存到它所呈现的UIVIEwController中。

>如果以编程方式创建UIPopoverController,那么那就是在UIVIEwController子类中存储引用的时候了。
>如果您使用的是Storyboards和Segues,可以在prepareForSegue方法中将UIPopoverController从segue中取出:

UIPopoverController* popover = [(UIStoryboardPopoverSegue*)segue popoverController];

当然,请确保你的网站真的是一个UIStoryboardPopoverSegue!

总结

以上是内存溢出为你收集整理的ios – 如何从显示在浏览器中的UIViewController找到UIPopoverController?全部内容,希望文章能够帮你解决ios – 如何从显示在浏览器中的UIViewController找到UIPopoverController?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1086801.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存