Controllerの設定。ナビゲーションバーのタイトルをビューコントローラーと合わせる。Controllerの設定。ナビゲーションバーのタイトルをビューコントローラーと合わせる。Item(以下、ナビゲーションアイテム)に表示されるタイトルの設定方法を説明する。Controller(以下、ナビゲーションコントローラー)と接続し、セグエの種類がPush(またはShow)でつながっている画面の上部には、下図のようにナビゲーションアイテムが表示されるので、ダブルクリックしてタイトルを変更することができる。これが一番てっとり早い。ViewControllerのタイトルと同じにするViewController(以下、ビューコントローラー)もtitleプロパティを持っているので、ビューコントローラーとナビゲーションアイテムのタイトルを別々に設定するのではなく、ビューコントローラーのtitleをナビゲーションアイテムのタイトルに設定したい。Controllerカタログ」に以下の記述がある。Controllerのタイトルを使用します。Controllerカタログ)であれば、ストーリーボードでビューコントローラーのタイトルを設定してやれば、ナビゲーションアイテムのタイトルが自動で表示されそうなので試してみよう。以降の作業を開始する段階のXcodeプロジェクトをGitHubに置いたので、手順を試してみる人はご利用されたし。下図真ん中のビューコントローラーを選択、紫枠のアトリビュートインスペクタボタンを押して設定画面を表示し、Titleに「昼」を入力する。続いて、右端のビューコントローラーを選択し、Titleに「夕方」を入力する。実行すると以下の動画のようになる。あれ、タイトルが表示されないぞ。公式リファレンスのtitleプロパティの説明に以下のように記述されている。objects.(公式リファレンス)つまり、ビューコントローラーのtitleプロパティを更新しなければナビゲーションアイテムのタイトルに反映されないということのようだ。そこで、ViewController.swfitを以下のコードに変更する。ビューコントローラーのtitleプロパティをtitleプロパティに再設定している。titleプロパティは参照型のため、何もせずに再設定すると更新したことにならないので、空文字を付加して再設定している。//タイトルを取得して再設定する。{super.viewDidLoad()//タイトルを取得して再設定する。""}}ストーリーボードを開き、夕方のビューコントローラー(下図赤枠)を選択する。水色枠のアイデンティティインスペクタボタンを押して設定画面を表示し、Classに「ViewController」を設定する。これで、昼と夕方両方で同じビューコントローラーが使われるようになった。以下は実際のプレイ動画。タイトルが表示されるようになった。ナビゲーションコントローラーのサブクラスでタイトルを設定する上記の手順でタイトルが表示されるようにはなったが、あまりスマートではない。ViewControllerを増やすたびにこの処理を入れるのも冗長だ。そこで、ナビゲーションコントローラーのサブクラスを作り、画面遷移が行われたタイミングでナビゲーションアイテムのタイトルを更新する作りにしよう。先ほど変更したViewController.swiftのコードは元に戻してから作業を進めること。メニューから「File」⇒「New」⇒「File...」を選択する。Class」を選択する。ofに「UINavigationController」を入力し、Nextボタンを押す。保存先を指定する画面が表示されるので、プロジェクトと同じ場所であることを確認し、Createボタンを押す。TestNavigationController.swiftを以下のコードに変更する。「画面出現後の呼び出しメソッド」が呼び出されたら、ナビゲーションバーにスタックされているナビゲーションアイテムの中の一番上のアイテムのタイトルをビューコントローラーのタイトルに変更するようにした。上のアイテムなのか説明すると、ナビゲーションアイテムはナビゲーションバーの中に配列で保持されていて、push、popで出し入れされながら画面遷移時に利用されるので、一番上のアイテムが遷移先画面で使われるナビゲーションアイテムになる。ちなみに、ナビゲーションコントローラーのnavigationItemプロパティは、そのViewControllerに設定されているナビゲーションアイテムなので、このプロパティの値を変更しても画面に表示されない。//デリゲートメソッドに自分を設定する。//ナビゲーションバーにスタックされている一番上のナビゲーションアイテムを取り出してタイトルを更新する。//以下のコードはタイトルは表示されない。{super.viewDidLoad()//デリゲートメソッドに自分を設定する。{//ナビゲーションバーにスタックされている一番上のナビゲーションアイテムを取り出してタイトルを更新する。viewController.title//以下のコードはタイトルは表示されない。viewController.title}}ストーリーボードを開き、下図赤枠のナビゲーションコントローラーを選択する。紫枠のアイデンティティインスペクタボタンを押して設定画面を表示し、Classに「TestNavigationController」を設定する。これでナビゲーションコントローラーに自作したクラスが使われるようになった。タイトルを画像にしたり、高さや行数を変更する方法。スペースを調整してバーにアイコンを並べる。Controllerの使い方。複数画面と接続し、タブバーのボタンで画面を切り替える。画面上部にタイトルとページ移動のボタンを設置する。ナビゲーションバーに表示するタイトルとボタンを管理するクラス。コメントをキャンセルメールアドレスが公開されることはありません。