2015年1月15日木曜日

swift 画面遷移でWHOSE VIEW IS NOT IN THE WINDOW HIERARCHY!発生

swiftで画面遷移を実装したら発生しました。

環境

  • Xcode6.1

原因は、viewDidLoad()関数内でpresentViewController()関数を呼び出して画面遷移を実装したためです。
画面遷移の処理をviewDidLoad()関数でなく、viewDidAppear()関数内で呼び出すようにしたらうまくいきました。
以下にサンプルを記載します。


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        self.configureUI()
        // ここで呼び出すとWHOSE VIEW IS NOT IN THE WINDOW HIERARCHY!が発生する
        //self.mvHomeView()
    }
    
    override func viewDidAppear(animated: Bool) {
        self.mvHomeView()
    }

    // Home画面に遷移
    func mvHomeView() {
        println("go HomeView")
        let homeViewController: UIViewController =  HomeViewController()
        self.presentViewController(homeViewController, animated: true, completion: nil)
    }

以上。つーか、objective-Cと同じですね。

参考

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...