【发布时间】:2016-07-11 18:27:51
【问题描述】:
我有带有导航控制器的 ViewController 1,我想在其中推送其他一些 VC。但是我有 ViewController 2 在它上面而不是在导航控制器层次结构中。
在 ViewController 2 中,我有一些方法可以将其最小化,但我无法到达 ViewController 1 中的导航控制器以将其他 VC 推到那里。我试图用代码从窗口中做到这一点:
UITabBarController *mTabBarVC = (UITabBarController *) [UIApplication sharedApplication].keyWindow.rootViewController;
UINavigationController *prevNavigationController = myTabBarVC.selectedViewController.navigationController;
但我没有成功,我在 prevNavigationController 中得到了 nil。
【问题讨论】:
-
什么显示 NSLog (@"%@", mTabBarVC) ?
-
和 NSLog (@"%@", myTabBarVC.selectedViewController) ?
-
检查,如果keyWindow.rootViewController真的是UITabBarController,而不是另一个控制器
-
如何在 ViewController 1 上呈现 ViewController 2?模态,还是通过添加子视图?
标签: ios objective-c uiviewcontroller uinavigationcontroller hierarchy