6

私は iOS アプリケーションを開発しています。そのアプリでは、タブ バー コントローラーを使用しています。そして、タブバーコントローラー内から別のビューコントローラーに移動しています。ビューコントローラーをプッシュする前に、そのコントローラーのプロパティを設定しています

viewController.hidesBottomBarWhenPushed = YES;

そして、下部にタブバーがある別のView Controllerに移動しています。

問題は、View Controller を View Controller に戻すと、そのビューにもタブ バーが表示されることです。View Controllerをポップするときにタブバーを非表示にする方法はありますか?

誰かがこれで私を助けることができれば、それは素晴らしいことです.

前もって感謝します。

4

4 に答える 4

3

その場合、viewWillAppear メソッドが役立ちます。あなたの最初のviewcontrollerにこのコードを入れてください

-(void)viewWillAppear:(BOOL)animated
{
   self.tabBarController.tabBar.hidden = YES;
}

したがって、secondviewcontroller がポップアウトすると、このメソッドが呼び出され、下部のバーが非表示になります。

于 2013-04-05T07:54:01.197 に答える
0

戻るボタンをクリックするときにこれを配置します

[self.tabBarController.tabBar setHidden:YES];

[UIView animateWithDuration:0.5
                     animations:^{
                         self.tabBarController.tabBar.frame = CGRectMake(self.tabBarController.tabBar.frame.origin.x, self.tabBarController.tabBar.frame.origin.y+self.tabBarController.tabBar.frame.size.height, self.tabBarController.tabBar.frame.size.width, self.tabBarController.tabBar.frame.size.height);
                 }

別の答えがあります...

これらの 2 つのメソッドをすべての ViewController に配置し、必要に応じて BOOL 変数を 管理self.hidesBottomBarWhenPushedますYESNO

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.hidesBottomBarWhenPushed = YES;
}
- (void)viewDidDisappear:(BOOL)animated
{   
    self.hidesBottomBarWhenPushed = NO;
}
于 2013-04-05T09:33:07.587 に答える
0

アプリの設計によっては、中央のオブジェクトをナビゲーション コントローラーのデリゲートとして設定できます。タブバーの非表示/表示。この質問はhidesBottomBarWhenPushed ですが、ポップすると解決策も提供されますが、私は好きではありません。ところで、ユーザーが 2 番目以降のレベルにブラウズしたときに、再びボトム バーが表示されることは一般的ではありません。

于 2013-04-08T09:32:11.043 に答える