gpt4 book ai didi

ios - UIAlert 的问题

转载 作者:行者123 更新时间:2023-11-30 14:12:07 24 4
gpt4 key购买 nike

我在使 UIAlerts 工作时遇到了一些麻烦。我看过几个似乎解决了这个问题的问题,但我仍然有问题。警报 View 似乎没有显示。这是我的代码:

        var inputTextField: UITextField?

let actionSheetController: UIAlertController = UIAlertController(title: "Create a password", message: "", preferredStyle: .Alert)

let save: UIAlertAction = UIAlertAction(title: "Save", style: .Default) { action -> Void in
if !(inputTextField?.text=="password"){
println(inputTextField?.text)
}else{
println("You have a really bad password")
}
}
actionSheetController.addAction(save)
actionSheetController.addTextFieldWithConfigurationHandler { textField -> Void in
inputTextField = textField
}
self.presentViewController(actionSheetController, animated: true, completion: nil)

这是错误:

Attempt to present <UIAlertController: 0x7fa7016305e0> on <PassProtect.ViewController: 0x7fa701576600> whose view is not in the window hierarchy!

有人知道为什么不显示此内容吗?

非常感谢任何帮助或建议!

最佳答案

这与以下事实有关:当您调用呈现 UIAlertController 时,self.view 不在屏幕上。如果您在 viewDidLoad() 部分中编写此代码,则这将不起作用,因为 self.view 仍然在屏幕外。

一旦 self.view 可用,您就可以进行此调用,例如在 viewDidAppear() 中或通过任何类型的 UI 操作(例如单击按钮)进行此调用。基本上,在 viewDidDisappear() 之前发生的任何事情。

有一个similar question如果您想阅读它,也有类似的信息 here对于更一般的情况,即尝试呈现不在 View 层次结构中的任何类型的 View Controller 。

关于ios - UIAlert 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31658865/

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