按任意视图时,iphone +隐藏标签栏

时间:2012-04-11 12:35:51

标签: iphone ios uitabbarcontroller

我正在设计一个在tabbar中有超过4个选项的应用程序,所以我想做的就是在任何视图被推动时隐藏tabbar并在弹出视图时再次显示它,我尝试了hidesbottomwhenpushed但是没有&# 39;为我工作。请帮忙

1 个答案:

答案 0 :(得分:1)

使用此功能

- (void) hideTabBar:(UITabBarController *) tabbarcontroller 
{
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.5];
        for(UIView *view in tabbarcontroller.view.subviews)
        {
            if([view isKindOfClass:[UITabBar class]])
            {
                [view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
            } 
            else 
            {
                [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
            }

        }

        [UIView commitAnimations];

 }

当您调用此功能时

[self hideTabBar:self. tabbarcontroller];

当你想要显示tabbarcontroller时使用这个函数

 - (void) showTabBar:(UITabBarController *) tabbarcontroller {

        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.5];
        for(UIView *view in tabbarcontroller.view.subviews)
        {
            NSLog(@"%@", view);

            if([view isKindOfClass:[UITabBar class]])
            {
                [view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];

        } 
        else 
        {
            [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
        }


    }

    [UIView commitAnimations]; 
}