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

时间:2017-07-27 12:58:06

标签: ios objective-c swift xcode

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

2 个答案:

答案 0 :(得分:1)

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

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

检查上面的代码。

答案 1 :(得分:0)

作为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)