0

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

4

1 回答 1

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]; 
}
于 2012-04-11T12:51:39.203 回答