モケラ

Tech Sheets

mokelab

UINavigationControllerでroot view controllerを差し替える

最終更新日:2015-05-23

例えばログイン画面でログイン後、次の画面に遷移させますが、この時左上のbackボタンでログイン画面に戻るのは不自然ですよね。

このように、戻ってほしくないけど画面遷移させたい場合は、UINavigationControllerのroot view controllerを差し替えるという手が使えます。

遷移先のViewControllerを生成する

Storyboard IDを指定してViewControllerを作るに記載されている方法でViewControllerを生成します。

setViewControllers()で差し替える

第一引数はViewControllerの配列を指定します。要素が複数ある配列を渡した場合、スタックに積まれた状態で遷移します。

var nextViewController : AnyObject! =
    self.storyboard!.instantiateViewControllerWithIdentifier("mainList");
self.navigationController?.setViewControllers(
    [nextViewController], animated: true);

一覧に戻る