gpt4 book ai didi

ios - 在 prepareForSegue 中获取 UIPopoverController 引用?

转载 作者:行者123 更新时间:2023-12-01 17:30:32 25 4
gpt4 key购买 nike

我选择了Present as Popover在我的 StoryBoard Segue 的 Interface Builder 中。

enter image description here

如何在 prepareForSegue 中获得对 UIPopoverController 的引用?

我试过这样,但它没有进入 if 语句。

    if segue is UIStoryboardPopoverSegue {
let popoverSegue = segue as UIStoryboardPopoverSegue
simpleTableViewController.popoverController = popoverSegue.popoverController
}

更新

如果您需要popovercontroller,只是为了解除它,那么解除自适应 View Controller 的方法是:
self.dismissViewControllerAnimated(true, completion: nil)

最佳答案

当使用自适应 segue Present as Popover 时:

要获得对 UIPopoverController 的引用在 iOS 7 上,您需要检查 segue classprepareForSegue看看是不是UIStoryboardPopoverSegue .如果是,请通过 popoverController 访问弹出框属性(property)。如果您需要在该 View Controller 中将其关闭,请将其存储在目标 View Controller 中。

对于 iOS 8,UIPopoverController已不复存在,已被 UIPopoverPresentationController 取代.您可以通过 popoverPresentationController 在 View Controller 中直接访问它。 ,您可以通过 dismissViewControllerAnimated 轻松关闭弹出框.

因此,当使用自适应转场时,如果您在 iOS 7 上运行应用程序,转场类将为 UIStoryboardPopoverSegue而在 iOS 8 上它将是 UIStoryboardPopoverPresentationSegue .您不需要使用旧的已弃用的 popover segue,自适应 segue 会自动转换为旧 API 以向后兼容 Universal Storyboard,这非常简洁。

关于ios - 在 prepareForSegue 中获取 UIPopoverController 引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25476893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com