ios 怎么样让view跳转到tabbar视图控制器

 我来答
蒙MengNum1
2016-03-29 · TA获得超过2494个赞
知道大有可为答主
回答量:3004
采纳率:87%
帮助的人:844万
展开全部
1.导航类型 UINavigationController 适用于父子页面的跳转 UITabBarController 适用于平级页面的跳转 2.presentViewController / dismissViewControllerAnimated和pushViewController / popViewController (1)只有从UINavigationController导航过来的UIViewController 才可以使用pushViewController / popViewController,从其它导航进入的只能使用presentViewController / dismissViewControllerAnimated (2)如果A界面是通过presentViewController进入的,那么在A界面里只能使用presentViewController导航,如果A界面是通过UINavigationController包装了一层进入,则可使用pushViewController导航。 (3)如果A界面是一个UITabBarController,进入时是通过presentViewController来导航的,那么子Tab里也只能通过presentViewController来导航,如果进入时是通过UINavigationController包装了一层进入,则可使用[self.tabBarController.navigationController pushViewController:abcdViewController animated:true];这种方式导航。 3.修改UINavigationController导航进入后导航栏的图标及文字 UIBarButtonItem* leftBar = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(homeBack)]; self.navigationItem.leftBarButtonItem = leftBar; //可添加多个导航按钮 // self.navigationItem.leftBarButtonItems = nil; //同样右边的导航按钮也可以设置 4.创建UITabBarController时需注意,要先创建出来,然后通过UINavigationController包装后才能显示,否则tab子项不显示。创建格式如下 Java代码 TabOneViewController* oneVC = [[TabOneViewController alloc]init]; oneVC.view.backgroundColor = [UIColor whiteColor]; UITabBarItem* item1 = [[UITabBarItem alloc]initWithTitle:@"tab1" image:nil tag:0]; oneVC.tabBarItem = item1; TabTwoViewController* twoVC = [[TabTwoViewController alloc]init]; UITabBarItem* item2 = [[UITabBarItem alloc]initWithTitle:@"tab2" image:nil tag:1]; twoVC.tabBarItem = item2; HomeViewController* homeVC = [[HomeViewController alloc]init]; NSArray* array = [[NSArray alloc]initWithObjects:oneVC,twoVC, nil]; homeVC.viewControllers = array; UINavigationController* navVC = [[UINavigationController alloc]initWithRootViewController:homeVC]; [self presentViewController:navVC animated:YES completion:^{}]; //下面这种创建了HomeViewController后,HomeViewController下的子Tab不能通过push或者pop导航 // HomeViewController* homeVC = [[HomeViewController alloc]init]; // [self presentViewController:homeVC animated:YES completion:^{}]; 5.UITabBarController各页面之间的切换 实现UITabBarControllerDelegate协议 //实现协议方法,用于切换Tab时,更改页面的标题 -(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { NSInteger index = tabBarController.selectedIndex; NSString *title; switch (index) { case 0: title = @"Message"; break; case 1: title = @"User List"; break; } self.title
673693838
2016-12-18 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:69.2万
展开全部

首先要明确tabbar视图控制器是否为根控制器?

  • 如果是则销毁当前viewController(有多级界面一并销毁)

  • 否则presentViewController或者pushViewController跳转到tabbar视图控制器即可

  • 此时注意,如果tabbar视图控制器是在Storyboard时,首先在Storyboard中修改TabBarcontroller的storyboardID为tabBar(可自定义),然后以下代码即可获得你要的TabBarController
    UIStoryboard *story=[UIStoryboard storyboardWithName:@"Main" bundle:nil];
    UITabBarController *controller=[story instantiateViewControllerWithIdentifier:@"tabBar"]; 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1amc0
2016-04-13 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:149
采纳率:100%
帮助的人:50.3万
展开全部
首先,你显示View肯定有个ViewController
然后通过这个ViewController来presentViewController一个UITabbarViewController;
如果你的ViewController上有navigationController就可以Push一个UITabbarViewController。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凡间铁艺家居
2017-01-10
知道答主
回答量:57
采纳率:0%
帮助的人:3.8万
展开全部
[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:timeVc animated:YES completion:^{

WZPLog(@"展示完毕");

}];
timeVc是看你跳到哪个控制器哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式