我希望在iPhone / iPad应用程序中创建慢跑轮。我知道您可以为UigeSturerogentizer子类撰写自己的识别者。有人知道如何(主要是其背后的数学)创建一个可以检测到圆形运动的人,也许与锅姿态结合使用?

谢谢

有帮助吗?

解决方案

这个问题并不容易。我花一些时间思考可能的解决方案:
我认为您需要的是必须设置的一些关键属性:

  • 圆形运动的中心(在这种情况下没问题,因为您知道慢跑车轮的中心)
  • 运动应该发生的走廊。
    • 因此,您需要内部半径和外半径。

现在您有了这样的东西(不幸的是,我没有足够的声誉,所以只有链接: http://img17.imageshack.us/img17/4416/bildschirmfoto20100721u.png

现在,这背后的数学开始:
首先,您在四个季度中安排走廊:

  • 从0°到90°
  • 从90°到180°
  • 从180°到270°
  • 从270°到360°

对于每个季度,您必须弄清楚何时移动手指(假设0°线从中心点直至顶部):

  • 如果手指在第一季度,您知道X向左变化是否会旋转必须逆时针方向。如果X更改右侧,则旋转必须顺时针旋转。

将此逻辑应用于所有季度。现在,您知道慢跑轮是顺时针还是逆时针移动。您必须确保,手指永远不会离开走廊(如果您测试此逻辑并且由于离开走廊而停止运动,请使走廊更大 - 感谢Crystalskull的评论:将44PX用作最小宽度作为最小宽度。走廊适用于人类界面准则)。

sumary
因此,现在您可以得出结论,您需要一个中心点和一个走廊可以移动。顺时针。

希望这对您有所帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top