我有两个视图控制器,它们在情节提要中定义为
UIViewController -> (Show Detail Segue) -> UITabBarController
我的问题是;我正在使用名为netfox
的库来调试我的HTTP
请求。而此文物UI
由Shake Gesture
触发。但是当我来到模拟器上的UITabBarController
Shake Gesture
时,第一次无法使用。第二次,它关闭了当前在屏幕上的ViewController
,显然是UITabBarController
的子元素,并返回到初始的UIViewController
。这就像将两个ViewController
与modal
segue连接并从子级中调用self.dismiss()
一样。
我尝试将rootViewController
中的UIApplication
更改为
UIApplication.shared.keyWindow.rootViewController = self
在viewDidLoad()
的{{1}}方法中起作用。但是,对于此解决方案,缺少UITabBarController
的子项UINavigationBar
的{{1}}中UINavigationController
中的项目(按钮,标题)。
我不知道为什么会这样。如果在我解决此问题时有人帮助我,我将不胜感激。
答案 0 :(得分:1)
代替使用
self.performSegue(withIdentifier:_)
在UIViewController
中调用此方法已成功:
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryboard.instantiateViewControllerWithIdentifier("tabBarcontroller") as UITabBarController
UIApplication.sharedApplication().keyWindow?.rootViewController = viewController;
遵守此answer。