如何隐藏Tabbar?

时间:2013-09-17 05:54:06

标签: iphone ios objective-c hide tabbar

我在iOS项目中遇到一个问题,我需要在登录功能期间隐藏我的标签栏,并且喜欢在登录后显示我的标签栏。我搜索了很多内容,没有人为我的项目工作。请给我解决方案在我的项目应用程序委托功能

中有详细的程序,比如我想要开发的地方和内容
 tabView = [[GTabBar alloc]initWithTabViewControllers:viewControllersArraytabItems:tabItemsArray initialTab:1]; 
    [window    addSubview:tabView.view]; 
    [window makeKeyAndVisible];
  • GTabBar - >用于创建标签栏。
  • viewcontroller array - >视图控制器列表。
  • tabitems array->标签项列表。
  • 除此之外,MainViewController是一个用于处理标签事件的文件。

    提前致谢

3 个答案:

答案 0 :(得分:0)

您可以创建一个导航控制器,然后您可以创建标签栏控制器并进入loginviewcontroller所在的同一个导航控制器。

您可以通过以下步骤实现这一目标:

  1. 创建登录视图控制器
  2. 以登录为根控制器创建导航控制器
  3. 登录过程完成后,您只需将整个tabbarcontroller推入同一导航控制器即可。

答案 1 :(得分:0)

在appdel中添加以下方法,您可以在任何视图控制器中调用此方法来显示和隐藏tabbbar。只需在您想要显示和隐藏tabBar的地方调用此方法。

- (void)hideTabBar:(UITabBarController *) tabbarcontroller
{
//    [UIView beginAnimations:nil context:NULL];
//    [UIView setAnimationDuration:0.1];

    for(UIView *view in tabbarcontroller.view.subviews)
    {
        if([view isKindOfClass:[UITabBar class]])
        {
            [view setFrame:CGRectMake(view.frame.origin.x, ([UIScreen mainScreen].bounds.size.height == 568.0 ? 568:480)+20, view.frame.size.width, view.frame.size.height)];
        }
        else
        {
            [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width,  [UIScreen mainScreen].bounds.size.height == 568.0 ?568: 480)];
        }
    }

//    [UIView commitAnimations];
}

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

    for(UIView *view in tabbarcontroller.view.subviews)
    {
        if([view isKindOfClass:[UITabBar class]])
        {
            [view setFrame:CGRectMake(view.frame.origin.x,  ([UIScreen mainScreen].bounds.size.height == 568.0 ? 519: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,  [UIScreen mainScreen].bounds.size.height == 568.0 ? 519:431)];
        }
    }
 //    [UIView commitAnimations];
}

答案 2 :(得分:0)

登录应该成为主流之外的另一个工作流程。因此,您应该使用tabbarController作为主控制器,登录流程将由演示控件显示

[tabbarController presentModalViewController:loginController animated:YES];