底部tabBar隐藏

时间:2011-04-08 07:16:20

标签: iphone objective-c

喜 在我的应用程序中我使用TabBar.At首先当我调用loginControl时,我现在使用[login hidesBottomBarWhenPushed=YES];隐藏标签栏如果登录成功然后我显示detailViewController但是我甚至在设置{{1之后也看不到TabBar转到hidesBottomBarWhenPushed
有什么问题......任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:2)

使用此方法隐藏和显示标签栏:)

-(void)makeTabBarHidden:(BOOL)hide
{ 

    UITabBarController *tabBarController = self.tabBarController; 

    if ( hide == tabBarController.tabBar.hidden ) { 
        return; 
    } 


    UIView *contentView; 

    if ( [[tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] ) { 
        contentView = [tabBarController.view.subviews objectAtIndex:1]; 
    } else { 
        contentView = [tabBarController.view.subviews objectAtIndex:0]; 
    } 

    if (hide) { 
        contentView.frame = tabBarController.view.bounds; 
    } 
    else { 
        contentView.frame = CGRectMake(tabBarController.view.bounds.origin.x, 
                                       tabBarController.view.bounds.origin.y, 
                                       tabBarController.view.bounds.size.width, 
                                       tabBarController.view.bounds.size.height - tabBarController.tabBar.frame.size.height); 
    } 

    tabBarController.tabBar.hidden = hide; 
}

答案 1 :(得分:0)

如果您不再需要登录视图控制器,则可以在推送第二个之前弹出它。这将完成工作,但后退按钮中有奇怪的动画。它仍然是一个解决方案:)

[navController popViewControllerAnimated:NO];

编辑:

试试这个......

loginSuccessController *login = [[loginSuccessController alloc] initWithNibName:@"loginSuccessController" bundle:nil];
[self.navigationController popViewControllerAnimated:NO];
[self.navigationController pushViewController:login animated:YES];

答案 2 :(得分:0)

你可以在loginsuccesscontroller的viewwillappear或viewdidload中尝试[self setHidesBottomBarWhenPushed:NO];