[iPhone] NavigationController の設定

UINavigationControllerを使うと複数のViewControllerを階層的に管理できます。
下の例はストーリーボードを使わずに3つのViewControllerをBarButtonを使って遷移させています。

Swift 5
Xcode 10.2.1

UINavigationController

Segueで画面遷移のようにしてもいいのですがUINavigationControllerをつかうとスマートにできるケースもあります。

PreviousView

ViewController

NextView

ページ上にある barButtonSystemItem を使って前のページ、次のページとページ変更が簡単にできます。

ViewControllerの追加準備

2つのViewControllerをつかで作ります
それぞれの遷移は

  • PreviousViewController
  • NextViewController

とします。

新しいViewControllerはstoryboardに追加するのと合わせて「New File..」から「Cocoa Touch Class」を作成する必要があります。↓を参考にしてください

 

アプリでA画面からB画面に遷移したいケースは結構あります。コードで記述せざる得ない場合もありますが、StoryboardでSceneを作って…

 

 

storyboardにはこのケースでは何もしません

barButtonSystemItem を使うと遷移先の設定がいらないので簡単なのですが
イメージ的に左ボタンで移動した画面は右ボタンで戻るようにしてみました

サンプルコード

AppDelegate にViewController を rootViewController として設定して UINavigationControllerを設置します。

AppDelegate.swift

ViewController.swift

NextViewController.swift

PreviousViewController.swft



PreviousViewControllerでは
システムボタンがデフォルトで表示されるのを
あえて隠すようにしました