以下是一个简单的方法来禁用和重新启用滑动返回。
Swift 3.x及以上版本:
在viewDidLoad/willAppear/didAppear方法中添加:
navigationController?.interactivePopGestureRecognizer?.isEnabled = false
请记住,如果你在viewDidLoad
中这样做,那么下一次打开视图时,它可能不会设置,具体取决于它是否保留在您的栈中。
除非您希望其保持关闭状态,否则您需要通过willMove(toParentViewController:)
或willDisappear
重新打开视图关闭时。在viewDidDisappear
时,您的navigationController
将为空,因此为时已晚。
navigationController?.interactivePopGestureRecognizer?.isEnabled = true
SplitViewControllers特别说明:
正如评论中CompC所指出的那样,您需要调用第二个导航控制器来将其应用于详细视图,如下所示:
navigationController?.navigationController?.interactivePopGestureRecognizer?.isEnabled = false
Swift 2.2 & Objective-C
Swift版本2.x及以下:
navigationController?.interactivePopGestureRecognizer?.enabled
Objective-C:
self.navigationController.interactivePopGestureRecognizer.enabled