沿特定角度方向移动视图

时间:2016-02-06 18:38:34

标签: ios swift uiview uianimation

我有一个角度,我根据屏幕中心的视图定位来计算。我需要一种方法将视图从它的当前位置移开,从角度方向移出屏幕。

我确信有一种计算新x和y值的相当简单的方法,但我无法弄清楚数学。我想用动画来做,但是一旦我有了坐标,我就可以自己解决这个问题。

有人有任何建议吗?

2 个答案:

答案 0 :(得分:2)

如果您有角度,可以通过获取正弦和余弦值来计算新坐标。您可以尝试以下代码

dict

答案 1 :(得分:0)

对我而言,你需要做的是将矢量从极坐标(角度和半径)转换为笛卡尔表示(x和y坐标),这应该相当容易。 您已经获得了角度,因此您只需要获得半径,即矢量的长度。在你的情况下(如果我理解正确)是从需要动画的视图的当前中心到它的新位置的距离。虽然确切地知道(导致你试图计算的这一部分)可能很复杂,但你可以安全地采取足够大的值,这肯定会将视图从超级视图框架中抛出。超视图对角线的长度加上动画视图对角线的长度应该可以完成工作,或者更简单的是只取两个视图的高度和宽度的总和。

一旦你有了矢量的完整极坐标表示(角度和半径),就可以使用that simple formula转换为笛卡尔表示(x = r * cos(a),y = r * sin(a))最后将该矢量坐标添加到需要设置动画的视图中心。