Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何识别左/右滑动手势?比UISweepGestureRecognitor.direction.right/left更宽松_Ios_Swift_Uikit_Uiswipegesturerecognizer - Fatal编程技术网

Ios 如何识别左/右滑动手势?比UISweepGestureRecognitor.direction.right/left更宽松

Ios 如何识别左/右滑动手势?比UISweepGestureRecognitor.direction.right/left更宽松,ios,swift,uikit,uiswipegesturerecognizer,Ios,Swift,Uikit,Uiswipegesturerecognizer,我正在尝试在我的应用程序中实现滑动以消除视图。我使用的是一个UISweepGestureRecognitor,在向左或向右滑动时,视图将被取消。然而,UISweepGestureRecognizer对左或右的定义非常严格——除非滑动是完全水平的,否则不会被识别。使用起来很麻烦,因为大多数用户每次都无法完美地刷卡。有没有更宽容的方法可以做到这一点?您可以尝试使用UIPangestureRecognitor let pan = UIPanGestureReco

我正在尝试在我的应用程序中实现滑动以消除视图。我使用的是一个
UISweepGestureRecognitor
,在向左或向右滑动时,视图将被取消。然而,UISweepGestureRecognizer对左或右的定义非常严格——除非滑动是完全水平的,否则不会被识别。使用起来很麻烦,因为大多数用户每次都无法完美地刷卡。有没有更宽容的方法可以做到这一点?

您可以尝试使用UIPangestureRecognitor

                    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
                    }
let pan=uipangestureerecognizer()
变量初始点:CGPoint=.0
开关盘状态{
案例.开始:
初始点=平移(in:self)
打破
案例。更改:
让平移=平移翻译(in:self)
如果平移.x>初始点.x{
//对
}否则,如果平移.x<初始点.x{
//左
}
打破
违约:
打破
}

您可以尝试使用UIPangestureRecognitor

                    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
                    }
let pan=uipangestureerecognizer()
变量初始点:CGPoint=.0
开关盘状态{
案例.开始:
初始点=平移(in:self)
打破
案例。更改:
让平移=平移翻译(in:self)
如果平移.x>初始点.x{
//对
}否则,如果平移.x<初始点.x{
//左
}
打破
违约:
打破
}