NavigationControllerを使えるようにする

最低限の機能

・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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です