【发布时间】:2016-10-08 14:39:29
【问题描述】:
我有一个带有三个标签的TabBarController。第一个和最后一个选项卡是导航控制器,我希望在其中启用向后滑动。中间选项卡只是一个标准的viewController。默认情况下,似乎未启用向后滑动。我想这是因为我在这两个navigationControllers 中使用了后退按钮。我已经在两个导航控制器的根视图控制器中尝试了以下代码来启用它:
在viewDidLoad:
self.navigationController?.interactivePopGestureRecognizer?.delegate = self
并符合UIGestureRecognizerDelegate:
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
if (self.navigationController?.viewControllers.count)! > 1 {
return true
}
return false
}
现在重新滑动可以正常工作,但是偶尔如果其中一个视图控制器将另一个视图控制器推到 UI 顶部并且应用程序将全部冻结。在 Swift 中启用和禁用回扫的正确方法是什么?
【问题讨论】:
标签: ios swift uinavigationcontroller uitabbarcontroller uigesturerecognizer