一畳のくつろぎタイム

このブログでは紹介する商品画像をAmazonアソシエイトより借りています。画像やリンクにはアフィリエイト広告が含まれる事があります

2018年9月20日木曜日

UITabBarControllerでタブがありすぎる時の挙動

AppleのUITabBarControllerの説明に以下のようにある。

The tab bar has limited space for displaying your custom items. If you add six or more custom view controllers to a tab bar controller, the tab bar controller displays only the first four items plus the standard More item on the tab bar. Tapping the More item brings up a standard interface for selecting the remaining items.

かいつまんで日本語にすると、タブバーは6個目からは配置するスペースがないので、最初の4つだけ出て、他はMoreになるよ。
 ということである。もうちょっと書いてあるが、上3行ぐらいでとりあえず知りたいことはわかった。最後の行が何を言ってるのかよくわからなかったが試したらよくわかった。

 Moreをアクションシート的なものを想像していたら全然違ったので、記事にしています。

検証としてはタブを10個用意。
わかりやすいように背景色をランダムに生成し、ボタンを配置して画面の番号を表示しています。


 Moreを押すと、入りきらなかった画面4〜画面9タブの名前が入ったテーブルビューが登場。選ぶとその画面にいけるが、自動的にナビゲーションバーのようなものが付属する。
最初の4タブについては、余計なものはついてこない。しかもEdit機能があり最初の4タブとの入れ替えが可能だという。

使う機会はないと思うが、面白い挙動だった。

検証で使用したコードはこちら
https://github.com/snowfoxj/TabBarControllerTestCode