iOS
UINavigationController
Swift

swift present後にNavigationcontrollerの複数先のviewを呼び出す

More than 1 year has passed since last update.

はじめに

とあるviewからNavigationcontrollerを設定してからpresentviewする機会があった。

view (今ここ)
↓ present
firstView
↓ push
secondView

このような状態で、
view

secondView

に遷移してかつ、
firstView

secondView

というようなNavigationControllerの標準の戻るを使えるようにしたかった.

要は、present後にsecondViewを表示してNavigationControllerの戻るでfirstViewに戻れるようにしたい。

やり方

NavigationController のsetViewControllers を使う

  let firstView = FirstViewController()
  let secondView = SecondViewController()
  let navController = NavigationController(rootViewController: firstView)
  navController.setViewControllers([firstView,secondView], animated: false)
  self.present(navController, animated: true, completion: nil)

これで解決