一旦我添加了自定义栏导航栏按钮项,我就失去了使用默认功能返回的功能。我希望能够使用“从边缘滑动”返回。
我添加了Edge Pan手势识别器并将其连接到@IBAction,但只要识别了平移手势,解雇操作就会完全发生。
而不是慢慢地跟着我的拇指(如在其他应用程序中看到的那样),当前视图会移出预定义的动画。
如何使用Edge Pan Gesture Recogniser按照我的拇指制作动画?
@IBAction func edgeSwipe(sender: AnyObject) {
navigationController?.popViewControllerAnimated(true)
}
答案 0 :(得分:6)
无需添加Edge Pan手势识别器。按照@beyowulf的建议,我已经能够实现滑动返回功能,其行为与默认系统实现相同 - 视图边缘跟随我的拇指,因为我滑动它以解除它。
所以我从故事板中删除了ScreenEdge Pan Gesture Recogniser
,并删除了相关的@IBAction
。
我已将第一个视图控制器作为interactivePopGestureRecognizer
的委托。这是代码:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.interactivePopGestureRecognizer?.delegate = self
}
}
extension ViewController: UIGestureRecognizerDelegate {
func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
return navigationController?.viewControllers.count > 1 ? true : false
}
}