如何识别左/右滑动手势?比UISwipeGestureRecognizer.direction.right / left宽大

时间:2019-04-05 01:42:25

标签: ios swift uikit uiswipegesturerecognizer

我正在尝试滑动以关闭应用程序中的视图。我使用的是UISwipeGestureRecognizer,在向左或向右滑动时,视图被关闭了。但是,UISwipeGestureRecognizer对左侧或右侧的定义非常严格-除非滑动完全水平,否则无法识别。使用起来很麻烦,因为大多数用户每次都无法完美刷卡。有没有更宽容的方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用UIPanGestureRecognizer

                    let pan = UIPanGestureRecognizer()

                    var initialPoint: CGPoint = .zero

                    switch pan.state {
                    case .began:
                        initialPoint = pan.translation(in: self)
                        break

                    case .changed:
                        let panned = pan.translation(in: self)
                        if panned.x > initialPoint.x {
                            // right
                        } else if panned.x < initialPoint.x {
                            // left
                        }
                        break

                    default:
                        break
                    }