Swift - 摇动手势关闭 child 视图控制器
Swift - Shake gesture dismisses the child view controller
我有两个视图控制器,它们在故事板中定义为,
UIViewController -> (Show Detail Segue) -> UITabBarController
我的问题是;我正在使用一个名为 netfox
的库来调试我的 HTTP
请求。这个图书馆的 UI
被 Shake Gesture
触发。但是当我第一次在模拟器上使用UITabBarController
Shake Gesture
时不起作用。第二次它关闭当前在屏幕上的 ViewController
,显然是 UITabBarController
的 child,并返回到初始的 UIViewController
。这就像用 modal
segue 连接两个 ViewController
并从 child 调用 self.dismiss()
一样。
我试图通过
更改 UIApplication
的 rootViewController
UIApplication.shared.keyWindow.rootViewController = self
在 UITabBarController
的 viewDidLoad()
方法中,它起作用了。但是,对于此解决方案,任何 UINavigationController
的 UINavigationBar
中的项目(按钮、标题)都丢失了 UITabBarController
的 child。
我不知道为什么会这样。如果有人在我解决这个问题时帮助我,我将不胜感激。
而不是使用
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。
我有两个视图控制器,它们在故事板中定义为,
UIViewController -> (Show Detail Segue) -> UITabBarController
我的问题是;我正在使用一个名为 netfox
的库来调试我的 HTTP
请求。这个图书馆的 UI
被 Shake Gesture
触发。但是当我第一次在模拟器上使用UITabBarController
Shake Gesture
时不起作用。第二次它关闭当前在屏幕上的 ViewController
,显然是 UITabBarController
的 child,并返回到初始的 UIViewController
。这就像用 modal
segue 连接两个 ViewController
并从 child 调用 self.dismiss()
一样。
我试图通过
更改UIApplication
的 rootViewController
UIApplication.shared.keyWindow.rootViewController = self
在 UITabBarController
的 viewDidLoad()
方法中,它起作用了。但是,对于此解决方案,任何 UINavigationController
的 UINavigationBar
中的项目(按钮、标题)都丢失了 UITabBarController
的 child。
我不知道为什么会这样。如果有人在我解决这个问题时帮助我,我将不胜感激。
而不是使用
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。