gpt4 book ai didi

ios - UIAlertController 仅在 viewDidAppear 完成调用时可见

转载 作者:行者123 更新时间:2023-11-28 09:00:34 24 4
gpt4 key购买 nike

我试图在我的 View 加载时显示一个 UIAlertController。我知道在 viewDidLoad()viewWillAppear() 期间这是不可能的,因为在执行这些函数期间 View 不在层次结构中。但是,如果在 viewDidAppear() 之前添加 View ,那么应该可以在调用该函数期间显示我的 UIAlertController

因此,我尝试了这个:

override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)

var AlertShow = false
print(Configuration)

if !AlreadyLoad {

if Configuration.count == 0 {
AlertShow = true
print("First lunch")
let Alert = UIAlertController(title: "Premier lancement", message: "C'est la première fois que l'application est lancée. Cette dernière va télécharger tous les articles.\nVeuillez patienter.", preferredStyle: .Alert)
let OkAction = UIAlertAction(title: "Ok", style: .Default) { (action) in }
Alert.addAction(OkAction)
self.presentViewController(Alert, animated: true, completion: {
AlertShow = false
})
}
}

但我的警报仅在执行 viewDidAppear() 后可见。我想在开始时显示此警报。

我正在使用 Swift 2、Xcode 7 和 iOS 9 SDK。

最佳答案

呈现独立于任何 View Controller 的 UIAlertController 的方法是创建新的 UIWindow 和 rootViewController 并将其放在当前 UIWindow 之上。这里推荐这种方法。 How to present UIAlertController when not in a view controller?

如果你想看实现。你可以在这里看看。它很简单,但效果很好。我将这个想法转换为 objective-c ,并在我的应用程序中也使用了它。这是 Dylan Bettermann 的 swift 版本:https://github.com/dbettermann/DBAlertController

关于ios - UIAlertController 仅在 viewDidAppear 完成调用时可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32092289/

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