如何从嵌入在导航控制器中的简单视图控制器调用标签栏视图控制器?



我如何从简单的UIViewController调用TabbarViewController连接的viewController,其中简单的UIViewController嵌入在UINavigationController中。我想要与UINavigationController相同的Push and Pop效果,当将一个移动到其他视图控制器时。在谷歌中挖掘后,我发现在导航堆栈中推送标签栏视图控制器并不是构建应用程序的好方法。我尝试创建自定义事务动画,但它与UINavigation事务效果不同。请给出一些建议或解决方案。谢谢!!

你可以直接将 UITabbarController 设置为 window 的 rootViewController。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
_tabObj = (TabbarViewController*) [storyboard instantiateViewControllerWithIdentifier:@"TabbarViewController"];
self.window.rootViewController = _tabObj;

检查上面的代码。

作为Nirmalsinh的答案,您可以将符合UITabBarControllerDelegate的视图控制器设置为您的self.window.rootViewController,然后应该在其中UITabBarController

var tabBarController: UITabBarController

然后,您可以每个选项卡的导航和视图控制器

let firstViewController = FirstViewController()
let firstNavigationController = UINavigationController(rootViewController: firstViewController)
// other setter
tabBarController.viewControllers = [
firstNavigationController
]

那么在FirstViewController里面,可以打电话

let secondViewController = SecondViewController()
navigationController?.pushViewController(SecondViewController, animated: true)

最新更新