iOS如何使iPhone指南针标题围绕动画移动?

Posted

技术标签:

【中文标题】iOS如何使iPhone指南针标题围绕动画移动?【英文标题】:iOS how to make iPhone compass heading move around a circle with animation? 【发布时间】:2012-11-15 10:41:46 【问题描述】:

我有一个圆 CGRectMake(0.0, 0.0, 100.0, 100.0),cornerRadius = 100;

我想围绕该圆圈移动图像。图像应围绕圆圈移动并指向北方。换句话说,它是一个指南针,只是航向不旋转,而是绕着圆圈移动。我还需要动画像指南针一样向前和向后移动。

有没有人实现过类似的东西或有任何建议或想法?

【问题讨论】:

【参考方案1】:

与其试图计算出它的坐标,我只需要一个与整个指南针大小相同但除了位于顶部边缘的指针之外完全透明的图像。

然后将带有此图像的 UIImageView 放在您的指南针上,然后围绕其中心点旋转图像。

这样指针将始终跟随一个圆圈,并且更容易指向北方,因为您只处理旋转角度而不是坐标。

用于计算圆的 x,y 坐标...

你知道圆的半径 = 半径。 您知道旋转角度 = theta。 (角度始终以 rads 为单位 2Pi rads = 一整圈)。

x 坐标 = 半径 * cos(theta)。

y 坐标 = 半径 * sin(theta)。

应该可以的。

您可能需要将 RAD 转换为度数。

【讨论】:

一个好主意,但这不起作用,因为稍后我需要将圆转换为椭圆,因此指向北方的图像会被压扁。 在这种情况下,我会编写一个函数,将您需要的角度转换为 x、y 坐标。您需要使用三角函数来转换它。椭圆坐标可能有点难。 您可以对一个圆进行所有计算,然后将其转换为椭圆。但目前我正在努力解决圆圈部分。 编辑了用于计算圆坐标的数学。

以上是关于iOS如何使iPhone指南针标题围绕动画移动?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SliverAppBar 中为项目的位置设置动画以在关闭时围绕标题移动它们

带有 Unity 3D 的 C#:当用户移动鼠标时,如何使相机围绕对象移动

使用iPhone应用程序中的过渡移动要触摸的对象

快速查找iPhone的指南针方向

如何在 iPhone、iOS 8 上为弹出框设置动画

如何使 FAB 避免在 ViewPager 中移动,但又是其中的片段的一部分?