如何增加导航控制器后退滑动手势响应区域?

时间:2015-01-20 10:07:20

标签: ios

我发现使用导航控制器时,当用户从屏幕左侧滑动时,将会引入默认的后滑动手势,这将使应用程序返回到上一个视图。

除了从屏幕左侧开始,有没有办法从屏幕上的任何一点开始?

感谢。

1 个答案:

答案 0 :(得分:0)

只需添加自己的手势识别器,并观察手势,其中x方向的速度更大,从左到右。

    override func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {

        if (gestureRecognizer.isMemberOfClass(UIPanGestureRecognizer)){
            let point:CGPoint = (gestureRecognizer as UIPanGestureRecognizer).velocityInView(self)
            if (abs(point.x) > abs(point.y)){
                return true
            }
        }
}

在此处理手势:

func handlePanGestureRecognizer(gesture: UIPanGestureRecognizer){
    let translation:CGPoint = gesture.translationInView(self)
    if(translation.x > 0){
       //its going from left to right...
       //...Do stuff over here to handle the gesture, for eg. push the view from the stack
    }


}