タブバーの外観を完全に制御できるように、カスタム UITabBarController を作成しています。すべてが機能しているので、処理するビューコントローラーの配列があります。
コントローラーには画面いっぱいに表示されるメイン ビューがあり、その内部にはタブ バーの下部に UIView があります。そのタブ バー ビューには、各ビュー コントローラーのボタンがあります。ボタンが押されたら、View Controller のビューをメイン ビューに追加し、タブ バー ビューを覆わないようにフレームを設定します。
controller.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height - kTabBarHeight);
これはすべて正常に機能し、View Controller 間をうまくフリックできます。ただし、モーダル ビュー コントローラーを表示してから閉じると、現在のビュー コントローラーのビューが全画面表示になり、タブ バーが隠れてしまいます。自動サイズ変更マスクをサイズ変更しないように設定しようとしましたが、引き続き発生します。
また、以下を使用して、ビュー コントローラー ビューを下部 (タブ バーの下) に追加しようとしました。
[self.view insertSubview:controller.view atIndex:0];
しかし、それを行うと、タブバーはモーダルビューの上にも表示されます! これは奇妙です。わからないところがあると思うので、どなたか教えていただけると助かります!
ありがとう、
マイク