我正在尝试在应用程序首次加载时添加uialertview或控制器。目前,我的viewDidLoad方法中有这个代码。

let welcomeAlert = UIAlertController(title: "hola", message: "this is a test.", preferredStyle: UIAlertControllerStyle.Alert)
welcomeAlert.addAction(UIAlertAction(title: "ok.", style: UIAlertActionStyle.Default, handler: nil))

self.presentViewController(welcomeAlert, animated: true, completion: nil)

为什么警报视图不显示?我使用了相同的代码,但是在一个按钮的IBAction内部,它工作正常。

最佳答案

您应该在viewDidAppear:函数中显示警报。要显示子视图或其他视图控制器,父视图控制器必须位于视图层次结构中。
viewDidAppear函数“通知视图控制器其视图已添加到视图层次结构中。”
*从documentation
所以,您的代码可能看起来像这样:

class MyViewController: UIViewController {

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

        let welcomeAlert = UIAlertController(title: "hola", message: "this is a test.", preferredStyle: UIAlertControllerStyle.Alert)
        welcomeAlert.addAction(UIAlertAction(title: "ok.", style: UIAlertActionStyle.Default, handler: nil))
        self.presentViewController(welcomeAlert, animated: true, completion: nil)
    }

}

09-16 07:35