iPhone:隐藏当前视图上的标签栏

时间:2011-01-25 10:46:23

标签: iphone uitabbarcontroller

有没有办法隐藏并显示您当前视图上的标签栏。所以不是使用 setHidesBottomBarWhenPushed ,因为这仅适用于推送的视图。

您可以使用导航控制器

[view.navigationController setNavigationBarHidden:YES animated:YES];

但肯定有一种方法可以使用Tab栏。

2 个答案:

答案 0 :(得分:3)

将此代码添加到您的applicationDidFinishLaunching方法:

[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(toggleTabBarHidden)
name:@"toggleTabBarHidden"
object:nil];

在appDelegate中创建一个方法,如下所示:

-(void)toggleTabBarHidden{
        for(UIView *view in self.window.subviews)
    {
        if([view isKindOfClass:[UITabBar class]])
        {
            if(view.hidden){
                view.hidden = NO;
                break;
            }
                view.hidden = YES;
        }
    }
}

现在,只要您想显示/隐藏UITabBar,只需触发通知:


[[NSNotificationCenter defaultCenter] postNotificationName:@"toggleTabBarHidden" 
object:nil];

这适用于您应用内的任何位置。

答案 1 :(得分:1)

您可以采用的一种方法是将标签栏控制器嵌入导航控制器中,然后当您按下导航控制器时,标签栏控制器将滑出,标签栏和所有。