0

私は今これに3時間を費やしました、それは本当に私を苛立たせます. 特定のビューのタブバーを非表示にし、他のビューに戻す必要があります。努力しています

self.hidesBottomBarWhenPushed = TRUE;

成功しませんでした。(一部のビューPOPは画面から外さなければならず、それはPUSHでのみ機能し、それでも正しく機能していないようです)

それで、タブバーの「フレーム」を何らかの方法で画面ビューのすぐ下に移動し、必要なときに元に戻すことができるかどうか疑問に思っていました.アニメーションでもいいですか?

4

2 に答える 2

0

このコードを使用する

- (void) hidetabbar {

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5];

    for(UIView *view in appDelegate.objtabbar.view.subviews)
    {
        NSLog(@"%@", view);

        if([view isKindOfClass:[UITabBar class]]||[view isKindOfClass:[UIButton class]]||[view isKindOfClass:[UIImageView class]])
        {
            if (hiddenTabBar) {
                [view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];
            } else {
                [view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
            }
        } else {
            if (hiddenTabBar) {
                [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
            } else {
                [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
            }
        }
    }
    [UIView commitAnimations];

    hiddenTabBar = !hiddenTabBar;
}
于 2012-05-25T04:23:45.960 に答える
0

答えはおそらくもっと苛立たしいものです。tabbarcontroller が所有する tabbar について話している場合は、できません。いくつかのトリックで移動できますが、残念ながらビューのサイズが正しく変更されません。唯一の方法は、タブバー デリゲート ptotocol を使用して独自の同様のタブバー コントローラーを作成することです。おそらくios5で何かが変更されましたが、ios4で試したところ、独自のタブバーコントローラーの作成が高速であることがわかりました。

于 2012-05-25T04:16:55.540 に答える