4

私のiPhoneアプリで。

で使用UINavigationControllersしていUITabBarControllerます。

好き:

タブバー:

  • ナビゲーションコントローラー。

    • Controller1を表示します。
  • ナビゲーションコントローラー。

    • Controller2を表示します。

上記のViewControllerのいずれかからControllerxを表示します。

ViewControllerxに移動したとき。

タブバーを非表示にしています。

問題は、タブバーが非表示になっているのに、ビューのサイズが小さくなることです。そして、空白が下部に表示されます。

[self.tabBarController.tabBar setHidden:YES];
[self.tabBarController.tabBar setFrame:CGRectZero];
[self.navigationController pushViewController:obj_tipcalc animated:YES];
[obj_tipcalc release];

ここに画像の説明を入力してください

ありがとう。

4

4 に答える 4

8

ナビゲーション コントローラーのビューは UITabBarController のビュー内にあり、画面全体を占めていません。サイズを変更してみてください:

 ...
 CGRect biggerFrame = tabBarController.view.frame;
 biggerFrame.size.height += tabBarController.tabBar.frame.size.height;
 tabBarController.view.frame = biggerFrame ;
 ...

元のレイアウトに戻すには:

...
CGRect smallerFrame = tabBarController.view.frame;
smallerFrame.size.height -= tabBarController.tabBar.frame.size.height;
tabBarController.view.frame = smallerFrame;
...
于 2012-06-20T06:44:38.233 に答える
0

ViewwillAppear でフレームを設定します。

于 2012-06-20T06:41:05.853 に答える
0

タブバーを非表示にした後、ビューのフレームを変更します:

CGRect *rect=view1.frame;
rect.size.height+=44;
view1.frame=rect;
于 2012-06-20T06:45:30.740 に答える