NavigationBarの挙動!
UINavigationControllerを使った画面遷移で
上部のNavigationBarを表示/非表示にする方法はわかるんやけど、
今回やりたいことが
①はじめのテーブルビューでは上部のバーは隠れていて、(非表示)
②セルを選択して次の画面にいくと上部のバーが出現して、(→表示)
③その上部のバーから元のテーブルビューに「戻る」と
④上部のバーがまた隠れる。(→非表示)
という挙動。
色々調べてわかったこととして、
- NavigationControllerは基本的に前の画面で指示を与える
- 「戻る」ボタンは中の文字くらいはカスタムできる
くらい(ω・`))キョロ(( ´・ω)
やりたいことはsetNavigationBarHiddenをYESにしたいだけなんだよーう。
メソッドを作ってみたりもしたけど、
「(だから)いつ呼ぶんだよこれ!」
っていう、そう、つまりは、よぶタイミングがわからないのです。
困り果ててトレーナさんにきいてみたところ、
「ViewWillAppearに書いたりしてみた?」
とのこと。
むむ?ViewWillAppear?
「ViewDidLoadは はじめに画面が現れる1回しか呼ばれないけど、
ViewWillAppearっていうのは
画面が一番上に現れる毎回のタイミング で呼ばれるよ(∀`*)」
とのことー!!!
なんてわかりやすい!
というわけで、やってみたところ、できましたー!!∩(´∀`)∩パッパラー
(ただ、戻るときにNavigationBarの部分が一瞬黒く見える)
これ以外にも方法はあるのかもしれないけれど、
とりあえずViewWillAppearの使い方としてメモ。
*ソース*