当我们尝试在切换后推送新的viewcontroller时,为什么tabbar控制器开关不工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当我们尝试在切换后推送新的viewcontroller时,为什么tabbar控制器开关不工作相关的知识,希望对你有一定的参考价值。
我正在使用以下命令切换标签栏
self.tabbarcontroller.selectedIndex=0;
这是工作,但如果我正在推另一个视图控制器然后没有发生标签栏的切换,但如果我手动选择第一个视图控制器,那么我可以看到推动视图控制器在那里。
但是为什么只有当另一个视图控制器被推到顶部时才会发生切换。
仅供参考:我在顶视图控制器顶部推动视图控制器的方式没有问题,因为我尝试注释代码以切换标签栏项目并将其推送没有任何问题。
任何帮助表示赞赏。
--
更新:
这是推送视图控制器的代码
- (UINavigationController*) rootNavigationController {
UITabBarController* tabBarController = (UITabBarController*) [[self window] rootViewController];
return (UINavigationController*) [tabBarController selectedViewController];
}
[rootNavigationController pushViewController:newViewController animated:true];
答案
我之前有时会遇到同样的问题。索引正在以某种方式改变。要处理这种情况,最好使用didSelectItem委托并将当前项存储为导航控制器。所以不需要使用[tabBarController selectedViewController]。参考:UITabBar(Controller) - Get index of tapped?
以上是关于当我们尝试在切换后推送新的viewcontroller时,为什么tabbar控制器开关不工作的主要内容,如果未能解决你的问题,请参考以下文章
当应用程序被终止状态时,点击推送通知后无法导航到 ViewController
在 iOS 10 下使用 FCM 在前台单击推送通知后无法导航到特定的 viewController
Swift 2 - 当 AlertController 出现时如何切换到另一个 ViewController?