我发现使用导航控制器时,当用户从屏幕左侧滑动时,将会引入默认的后滑动手势,这将使应用程序返回到上一个视图。
除了从屏幕左侧开始,有没有办法从屏幕上的任何一点开始?
感谢。
答案 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
}
}