[Swift3]ナビゲーションバーのバックボタンの文字を変える

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
Swift

Swift3でナビゲーションバーを使った画面遷移を実装すると、前画面に戻るボタンのテキストは「前画面のタイトル」になる。

これを「戻る」「Back」など、自由な文字列にカスタマイズする方法を紹介。

前提

ナビゲーションバーを使った画面遷移が実装済みであること。

今回は以下の動画のような画面遷移を例にする。

実装する

ストーリーボード上で設定する方法と、コードで実装する方法がある。

ストーリーボード上で設定する方法

例えば、3番目の画面から2番目の画面に戻るためのボタン(3番目の画面に表示される)を「戻る」に変えたいとき。

この場合は、ストーリーボードで「2番目の画面の」ナビゲーションバーを選択し、アトリビュートインスペクタを開く。
表示された項目の「Back Button」欄に、バックボタンに表示させたい文字列(今回は「戻る」)を入力するだけで良い。

コードで実装する方法

次は、2番目の画面から1番目の画面に戻るためのボタン(2番目の画面に表示される)をカスタムする。
コードで実装する場合は「1番目の画面の」ビューコントローラを編集する。

まずUIBarButtonItemクラスのインスタンスを作成し、titleを表示させたい文字列に設定する。
作成したボタンを自身のナビゲーションバーのバックボタンに設定すれば、設定した文字列がバックボタンとして表示される。

出来上がったもの

2番目→1番目のバックボタンはコードで実装したもの、3番目→2番目のバックボタンはストーリーボード上で設定したものになっている。

ちなみに、ストーリーボードとコードで重複して設定した場合はコードで設定したものが優先される模様。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。