隐藏tabbar项目中的标签栏控件

时间:2010-09-06 05:59:02

标签: iphone uitabbarcontroller uitabbar show-hide

我正在制作一个tabbar项目,在这里我也有导航控制器。我正在做以下步骤: - 显示主屏幕 从第一个标签导航到下一个屏幕。 在第6个屏幕上,我想显示tabbarcontroller并想要显示我的其他标签栏。 我尝试了以下代码: -

self.navigationController.tabBarController.hidesBottomBarWhenPushed = YES;

和其他一些人。但还没有取得任何成功。任何人都可以建议我这样做吗?

由于

3 个答案:

答案 0 :(得分:1)

创建两个文件.h和.m,不带.xib

//.h file
#import <UIKit/UIKit.h>

@class Class1, Class2;
@interface TabbarController : UITabBarController 
{
        Class1 *class1;
    Class2 *class2;
    UINavigationController *nav1,*nav2;
}
@end

//。m file

@implementation TabbarController

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad 
{
    [super viewDidLoad];

    class1 =[[Class1 alloc] initWithNibName:@"Class1" bundle:nil];
    nav1=[[UINavigationController alloc] initWithRootViewController:class1];
    class1.title = @"class1";
    class1.tabBarItem.image = [UIImage imageNamed:@"tab1.png"];
    class1.navigationController.navigationBar.hidden = TRUE;

    class2 =[[Class2 alloc] initWithNibName:@"Class2" bundle:nil];
    nav2=[[UINavigationController alloc] initWithRootViewController:class2];
    class2.tabBarItem.image = [UIImage imageNamed:@"tab2.png"];
    class2.title = @"class2";
    class2.navigationController.navigationBar.hidden = TRUE;

    NSArray *controllers = [NSArray arrayWithObjects:nav1,nav2,nil];
    self.viewControllers = controllers;
}

将视图重定向到此视图,无论您需要哪个标签栏。

答案 1 :(得分:0)

您必须使用自定义UItabBarController。  见creating custom TabBar Controller

答案 2 :(得分:0)

通过这个来试试:

创建Delegate类的对象

#import "DelegateClass.h"


DelegateClass *appDel;

现在在.m类

-(void)viewDidLoad
{
  [super viewDidLoad];

  appDel= (DelegateClass *)[[UIApplication sharedApplication]delegate];

}

现在,只需在导航所在的视图中执行此操作,

appDel.tabBarController.hidesBottomBarWhenPushed = YES;

这只是一个棘手的部分。它对我来说非常有用:)