在 Swift 中的手势识别器中获取触摸的窗口坐标?

7

我正在使用UIPanGestureRecognizer将一个CALayer从一个UIView拖到另一个UIView上。在UIGestureRecognizerState.Changed方法中,我调用移动CALayer的函数:

var touchLocation = recognizer.locationInView(recognizer.view)
self.panForTranslation(touchLocation)

然而,touchLocation返回的是CALayer相对于其框架的位置,而不是屏幕坐标。

我该如何获取手指在屏幕上的确切位置的UITouch位置?

1个回答

11

试一下这个:

var touchLocation = recognizer.locationInView(recognizer.view.window)
self.panForTranslation(touchLocation)

1
完美运行!我很惊讶其他我看到的有同样问题的问题中没有发布这么简单的答案。 - jwade502

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接