MILLEN BOX 2

個人iOSアプリ開発者hollymotoによる勉強の記録。時々雑記。

画面遷移をコードで書いて失敗したことをメモする

こんにちは。hollymoto@anthrgrnwrld です。
画面遷移の方法をSegueで行うかコードで行うか。
これは永遠のテーマです。

そう。答えなどは無いのです。ただ今はコードで遷移させてみたい。

そんな慣れないことをした時にした失敗をこの投稿にしたためていきます。(随時更新)

失敗その1「遷移後何も表示されないんだけど...」

遷移後何も表示されないって??それ遷移後のViewControllerのStoryboardのインスタンスから作ったやつじゃなくて、なんとなーく無理矢理こねくり回して作ったもんを指定してない??

  • 画面遷移でpush、presentの対象はStoryboardのインスタンスを使わないといけない。Storyboardのインスタンスを使わないと遷移後の画面が黒くなる

こう書かなきゃダメよ?(pushViewControllerの場合

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let targetViewController = storyboard.instantiateViewController(withIdentifier: "Storyboardで指定しているStoryboard ID")
self.navigationController?.pushViewController(targetViewController, animated: true)        // pushViewControllerの場合(presentViewControllerも同じです)

まとめ

多分これからもおんなじ間違いを繰り返すんだろう。なのでこの記事を残します。
この手の失敗が会ったら、随時更新していきたいと思います。