从UIPanGestureRecognizer获取矢量

Luk*_*uke 3 cocoa-touch objective-c uigesturerecognizer ios uipangesturerecognizer

我正试图vector从一个UIPanGestureRecognizer关于屏幕轴的a Portrait Orientation.我知道我可以获得速度,这是战斗的一半,但我理想地想要获得关于屏幕垂直轴的角度(罗盘度或弧度)的方法.例如,从左下到右上的拖动将是45度角,从上到下将是180度,或从下到上将是0(或360).

这可能吗?它没有方向属性,文档中的翻译解释有点令人困惑.我是否需要手动创建一个中心点(关于我视图的中心),并比较它的起点/终点Pan Touch?我对所需的数学不太了解.

提前致谢!^ _ ^

小智 6

如果你能得到速度:

CGPoint velocity = [recognizer velocityInView:self.view]
Run Code Online (Sandbox Code Playgroud)

然后你可以用下式计算相对于x轴的角度:

float x = velocity.x;
float y = velocity.y;

double angle = atan2(y, x) * 180.0f / 3.14159f;
if (angle < 0) angle += 360.0f; 
Run Code Online (Sandbox Code Playgroud)