UIAlertController独立视图控制器

时间:2014-12-09 18:27:33

标签: ios swift xcode6.1 uialertcontroller

有时当我创建一个UIAlertController并将其呈现在if语句中时,我会收到警告Presenting view controllers on detached view controllers is discouraged.如何规避该警告?在呼叫和呼叫方面我能做些什么吗?介绍UIAlertController?我应该使用不同的东西,然后将UIAlertController放在if语句中吗?

if(!defaults.boolForKey("hasLaunchedOnce")) {
        updateSettingsLabel.hidden = false
        var alert = UIAlertController(title: "Instructions", message: "Sample Text", preferredStyle: .Alert)

        let okAction = UIAlertAction(title: "OK", style: .Default) {
            (action: UIAlertAction!) -> Void in
        }

        alert.addAction(okAction)

        presentViewController(alert, animated: true,completion: nil)
    }

2 个答案:

答案 0 :(得分:4)

您应该在UIAlertController或视图显示后的某个位置显示viewDidAppear()。在viewDidAppear()之前,视图层次结构尚未就绪,因此在此之前显示另一个视图可能会有问题。

答案 1 :(得分:0)

尝试像这样执行presentViewController:

self.view.window?.rootViewController?.presentViewController(alert, animated: true, completion: nil)