最低限の機能
・NavigationControllerオブジェクトを使えるようにする
・NavigationControllerを使った画面遷移と戻る機能
NavigationControllerオブジェクトを使えるようにする
AppDelegateに記載
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. // (1)StoryBoardから初回表示画面となるビューコントローラーを取得 let stroyboard = UIStoryboard(name: "Main", bundle: nil) let controller = stroyboard.instantiateInitialViewController() // (2)ウィンドウを初期化、サイズを指定 window = UIWindow(frame: UIScreen.main.bounds) // (3)ビューコントローラーを指定してUINavigationControllerオブジェクトを生成 let navVc = UINavigationController(rootViewController: controller!) // (4)アプリで最初に表示されるcontrollerを指定 window?.rootViewController = navVc // (5)ウィンドウを表示 window?.makeKeyAndVisible() return true }
NavigationControllerを使った画面遷移と戻る機能
【遷移】
1. 遷移先のControllerを取得
2. pushViewControllerメソッドで1.を指定
let stroyboard = UIStoryboard(name: "Sub2", bundle: nil) let sub2Vc = stroyboard.instantiateInitialViewController() self.navigationController?.pushViewController(sub2Vc!, animated: true)
【戻る】
・NavigationControllerがいい具合にやってくれるので実装は不要
NavigationControllerの「戻る」ボタンを非表示にしたい場合
以下の1行を、遷移先のControllerに設定する
self.navigationItem.setHidesBackButton(true, animated: false)
サンプル
https://github.com/satoNobu/study_swift/commit/7fdc831695e9c6bb5559d0c596210c7bf5fa1229