2

アプリの最初の読み込み時に UIAlertView または Controller を追加しようとしています。現在、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同じコードをボタンの内部で使用しましたが、期待どおりに機能します。

4

1 に答える 1

6

関数にアラートを表示する必要がありますviewDidAppear:。サブビューまたは別のビュー コントローラーを表示するには、親ビュー コントローラーがビュー階層にある必要があります。

このviewDidAppear関数は、「そのビューがビュー階層に追加されたことをView Controllerに通知します」。

資料より

したがって、コードは次のようになります。

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)
    }

}
于 2015-06-14T23:01:30.183 に答える