2013/10/27

[ios]タブ

Xcode5で、アプリを作るときに「タブのアプリ」を選んでおけば、自動的にタブが表示される。
まだよくわかってないけど、StoryBoardで線をつなげれば(Segue?)、それがそのままタブに反映されるようだ。

でも、減らしたいときもあるではないか。
増やしたいこともあるだろう。
そうなると、StoryBoardだけでは制御できず、ソースファイルをいじくることになる。
検索したら出てくるだろうと思ったのだけど、なんか程よい記事を見つけることができていない。
キーワードが悪いんかねぇ。

ドキュメントを読み返していて気づいたのだが、iOSのタブは「タブ追加」ではなく「タブ設定」なのだ。
addViewではなく、setViewというところだ。
だから、追加とか削除とかではなく、設定したいように設定する、ということらしい。

暫定で、こんなサンプルを作ってみた。
・UITabBarControllerの派生クラスを作る
・StoryBoardでは、その派生クラスを遣うように設定する
・AppDelegateで、UITabBarControllerの派生クラスと、見せたいUIViewControllerのポインタを持つようにする。
・各UIViewControllerのinitWithCoderで、selfをAppDelegateに保存してもらうように書く。
・setViewControllersで、各UIControllerViewを追加するなり削除するなり。

UITabBarControllereの派生クラスを作っているのは、AppDelegateにselfを渡すため。
たぶん、StoryBoardで作っているインスタンスを取得する方法があるんだろうけど、わかってないのよねぇ。
ああかっこうわるい。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。