[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では
システムボタンがデフォルトで表示されるのを
あえて隠すようにしました