gpt4 book ai didi

ios - 在 UIAlertController 等应用程序中随处显示弹出窗口

转载 作者:搜寻专家 更新时间:2023-11-01 06:40:24 28 4
gpt4 key购买 nike

我有一个弹出类,用于在我的整个应用程序中显示一些消息。我必须初始化一个实例并将其添加为当前出现的 Controller 的子级,然后在需要时显示弹出 View :

func popMessage() {
let popup = MyPopup()
self.addChildViewController(popup)
self.view.addSubView(popup.view)
popup.didMoveToParentViewController(self)

popup.show()
}

有时当前 View Controller 嵌入在 UINavigationControllerUITabBarController 中。如果要使我的弹出 View 以整个屏幕大小显示而不被导航栏或标签栏裁剪,我必须将其添加为导航 Controller 或标签栏 Controller 的子项。当我决定更改 Controller 层次结构时,这很烦人。

我怎样才能像使用 UIAlertViewController 一样让它变得更容易:

let popup = MyPopup()
popup.show()
or
self.presentViewController(popup)

将它弹出到任何地方并让它成为屏幕上的唯一焦点,而不考虑弹出窗口应该有哪个父 View Controller ?

最佳答案

您可以在应用程序窗口的 Root View Controller 上显示您的弹出窗口。

let popUp = MyPopup()
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let appWindow = appDelegate.window
var topViewController = window?.rootViewController

while topViewController?.presentedViewController != nil
{
topViewController = topViewController?.presentedViewController
}

topViewController.presentViewController(popUp, animated: true, completion: nil)

关于ios - 在 UIAlertController 等应用程序中随处显示弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36146877/

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