久しぶりにiOSネタを投稿するような気がします。iOS 11からUINavigationBarに大きいタイトルが追加されました。
テーブルビューをスクロールさせた時に自動的に小さいタイトルに切り替わって欲しいので、largeTitleDisplayMode
に.automatic
を設定しています。
navigationItem.title = "タイトル" if #available(iOS 11.0, *) { navigationItem.largeTitleDisplayMode = .automatic navigationController?.navigationBar.prefersLargeTitles = true } else { // Fallback on earlier versions }
なぜかナビゲーションバーの大きいタイトルが追従しない
UICollectionViewController
やUITableViewController
を使っている時には特に意識したことはないのですが、UIViewControllerの上にUICollectionViewまたはUITableViewを置いている場合に大きいタイトルがスクロールしても小さなタイトルに切り替わってくれません。
文章で書いても伝わりにくいと思うので、以下の動画をみてください。
結構な時間悩んだ結果、解決することができました。
解決編
StoryboardでのCollection View
を置く位置を変更することで、うまく大きなタイトルが追従するようになりました。Table ViewまたはCollection Viewの並び順を一番最初にする必要があるようです。
Storyboardを弄っただけで修正できるようになりました。