搜索

首页  >  问答  >  正文

ios - navigationcontroller在tabbar中的使用

在AppDelegate.h中
@property (strong, nonatomic) UINavigationController *navigationController;

在AppDelegate.m中

self.navigationController=[[UINavigationController alloc]initWithRootViewController:self.viewController];
    [self.window addSubview:navigationController.view];

在用navigationcontroller跳转到一个tabbar的界面,主视图为TabbarMain
在TabbarMain.h中

@interface TabbarMain : UITabBarController<UITabBarControllerDelegate>
@property (strong, nonatomic) UITabBarController *controller;

在TabbarMain.m中

UIViewController *huntingMain=[[HuntingMain alloc]initWithNibName:@"HuntingMain" bundle:nil];
    UIViewController *restaurantMain=[[RestaurantMain alloc]initWithNibName:@"RestaurantMain" bundle:nil];
    restaurantMain.navigationController.view=self.navigationController;
    UIViewController *settingMain=[[SettingMain alloc]initWithNibName:@"SettingMain" bundle:nil];
   UIViewController *moreMain=[[MoreMain alloc]initWithNibName:@"MoreMain" bundle:nil];
   controller=[[UITabBarController alloc]init];
    controller.viewControllers=[NSArray arrayWithObjects:huntingMain, restaurantMain, settingMain,moreMain,nil];//添加4个tabitem
    controller.delegate=self;
    [self.view addSubview:controller.view];

在TabbarMain.m是可以使用[self.navigationController pushViewController:view animated:YES];来进行页面的跳转
但是在某一个tabitem页面中再使用上面的方法就跳转不了,估计是导航控制器对这些tabitem没用(比如说在某个选项卡中有一个列表,单击某项进行跳转),不知道要怎么样才能在tabitem的页面中使用类似[self.navigationController pushViewController:view animated:YES];来进行跳转

PHPzPHPz2772 天前597

全部回复(1)我来回复

  • PHP中文网

    PHP中文网2017-04-17 11:10:02

    用UINavigationController来组织你的Tabbar下的viewcontroller
    TabbarMain.m

    UIViewController *huntingMain=[[HuntingMain alloc]initWithNibName:@"HuntingMain" bundle:nil];
    
    navigationController=[[UINavigationController alloc]initWithRootViewController:self.huntingMain];
    
    controller=[[UITabBarController alloc]init];
        controller.viewControllers=[NSArray arrayWithObjects:navigationController, restaurantMain, settingMain,moreMain,nil];/

    回复
    0
  • 取消回复