先说下项目的基本结构,tabBarVC控制 A、B、C三个NavigationVC。今天碰到一个奇葩的问题,在A的子控制器中,即push了N多层,有一个需求是直接pop到根控制器,并且显示C控制器。
问题代码如下:
[self.navigationController popToRootViewControllerAnimated:YES];
WLBMainViewController *tabBarVC = (WLBMainViewController *)[UIApplication sharedApplication].keyWindow.rootViewController;
tabBarVC.selectedIndex = 2;
后来修复代码如下:
WLBMainViewController *tabBarVC = (WLBMainViewController *)[UIApplication sharedApplication].keyWindow.rootViewController;
tabBarVC.selectedIndex = 2;
[self.navigationController popToRootViewControllerAnimated:YES];
对,你没看错,就是两行代码的顺序问题,很奇葩的问题,我不是很理解,有知道的小伙伴可以私聊我,谢谢。