我正在制作一个tabbar项目,在这里我也有导航控制器。我正在做以下步骤: - 显示主屏幕 从第一个标签导航到下一个屏幕。 在第6个屏幕上,我想显示tabbarcontroller并想要显示我的其他标签栏。 我尝试了以下代码: -
self.navigationController.tabBarController.hidesBottomBarWhenPushed = YES;
和其他一些人。但还没有取得任何成功。任何人都可以建议我这样做吗?
由于
答案 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;
这只是一个棘手的部分。它对我来说非常有用:)