gpt4 book ai didi

ios - 以编程方式在模态对话框中显示 View Controller 显示为全屏

转载 作者:行者123 更新时间:2023-11-29 01:33:54 29 4
gpt4 key购买 nike

我有 2 个快速 View Controller ,当我单击按钮时,我希望第二个 View Controller 在第一个 View 顶部显示为模式对话框(如 Web 中的引导模式)。我使用下面的代码来实现此目的,但第二个 View Controller 仍然全屏显示!

这是我执行以显示第二个 View Controller 的代码

var addCtrl = self.storyboard?.instantiateViewControllerWithIdentifier("mCtrl") 
as? ModalContentViewController
addCtrl!.modalPresentationStyle = .Popover
presentViewController(addCtrl!, animated: true, completion: nil)

mCtrl 是第二个 View Controller 的 Storyboard ID。

我在这里缺少什么?我的目标是在模式对话框中显示第二个 View Controller 。

编辑:我正在尝试使其在 iPhone 上运行。

最佳答案

您没有提及您使用的是 iPhone 还是 iPad。假设您使用的是 iPad,如果您想要模式对话框之类的东西,那么您最好使用 UIModalPresentationFormSheet,我猜它很快就会是 .FormSheet。如果你真的想使用弹出窗口,你需要告诉它从哪里弹出。您可以通过设置 Controller 的 popoverPresentationControllersourceViewsourceRectbarButtonItem 属性来完成此操作,< em>在调用 presentViewController 之后。

如果您使用的是 iPhone,在这两种情况下您仍会获得全屏演示。但是,如果您在调用 presentViewController 之前将呈现 Controller 设置为呈现 Controller 的 presentationController 委托(delegate),则可以获得 iPad 风格的演示>,然后实现 adaptivePresentationStyleForPresentationController:traitCollection 以始终返回 UIModalPresentationNone

关于ios - 以编程方式在模态对话框中显示 View Controller 显示为全屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33176986/

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