タイトル通り、Swift で作成したアプリで、present
を使って遷移した先のページに NavigationBar
を追加する方法です。
self.navigationItem.title
でタイトルを表示したかったのにできず、地味に困っていたので助かりました。
参考にさせていただいた記事はこちらから。
【Swift3】 presentで画面遷移したときに遷移先のViewにNavigationBarを表示させておく – また1からこつこつと
http://mjk0513.hateblo.jp/entry/2017/03/31/011959
コードはこちら。
let nextPageController: NextPageController = NextPageController() let navigationController = UINavigationController(rootViewController: nextPageController) self.present(navigationController, animated: true, completion: nil)
ポイントは2行目で、単なるページ遷移だと 1行目で定義したコントローラをそのまま 3行目に渡して遷移させているのですが、上記のように 2行目にナビゲーションコントローラを間に挟むことで、ナビゲーションバーを設定することができます。
変更はこれだけ!
実際に実行したところ、遷移した先のページにナビゲーションバーが追加されていました!
以上、Swift で遷移先のページにナビゲーションバーを追加する方法でした。
ずっと遷移先のページで何かしらの設定をするものだと思い込んでいたので、遷移時にこうして設定するとは思い浮かばず…若干ハマりました。
「swift navigationbar 追加」などで調べただけだと今回の手法にはなかなかたどり着けなかったので、同じことにお悩みの方のご参考になれば幸いです。