iOS选项卡栏-更改为第一个选项卡和第一个ViewController
我需要一些关于Tabbar应用程序的帮助 当前,我的选项卡栏如下所示:iOS选项卡栏-更改为第一个选项卡和第一个ViewController,ios,uinavigationcontroller,uitabbarcontroller,Ios,Uinavigationcontroller,Uitabbarcontroller,我需要一些关于Tabbar应用程序的帮助 当前,我的选项卡栏如下所示: 塔巴控制器 表1 导航控制器 视图控制器1 视图控制器2 表2 视图控制器3 假设ViewController2是当前显示的ViewController。现在我切换到ViewController3,并希望以编程方式切换到ViewController1 问题是,因为选项卡1中的活动ViewController是ViewController2 [self.tabBarController setSelecte
- 塔巴控制器
- 表1
- 导航控制器
- 视图控制器1
- 视图控制器2
- 导航控制器
- 表2
- 视图控制器3
- 表1
[self.tabBarController setSelectedIndex:0];
将始终切换到ViewController2。
但在这种情况下,我如何切换到ViewController1
这也不适合我:
self.tabBarController.selectedViewController
= [self.tabBarController.viewControllers objectAtIndex:0];
我很乐意提供一些提示。您必须从导航控制器中弹出viewController2。照办
[self.tabBarController setSelectedIndex:0];
[(UINavigationController*)[self.tabBarController.viewControllers objectAtIndex:0] popViewControllerAnimated:NO];
在代码中设置
selectedIndex
后,您可以弹回导航堆栈的根视图控制器:
self.tabBarController.selectedIndex = 0;
UINavigationController *navController = self.tabBarController.selectedViewController;
[navController popToRootViewControllerAnimated:NO];
使用类似
UINavigationController *navController=(UINavigationController*)[self.tabBarController.viewControllers objectAtIndex:0];
[navController popToRootViewControllerAnimated:YES];
希望这对Swift 3版有所帮助
self.tabBarController?.selectedIndex = 0
let navController = self.tabBarController?.selectedViewController as! UINavigationController
navController.popToRootViewController(animated: true)