首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >编写循环UIGestureRecognizer

编写循环UIGestureRecognizer
EN

Stack Overflow用户
提问于 2010-07-06 12:48:42
回答 1查看 954关注 0票数 2

我希望在iPhone / iPad应用程序中创建一个小轮子。我知道你可以通过继承UIGestureRecognizer来编写你自己的识别器。有没有人知道如何(主要是背后的数学原理)创建一个可以检测圆周运动的程序,也许可以结合摇摄手势?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-21 09:32:46

这个问题并不容易。我花了一些时间思考一个可能的解决方案:

我认为你需要的是一些你必须设置的关键属性:

  • 圆周运动的中心(在本例中没有问题,因为您知道慢跑轮的中心)
  • 应在其中进行移动的走廊。所以你需要内半径和外半径( radius.

  • )

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

现在,这背后的数学开始了:

首先,你要把走廊分成四个部分:

  • From 0°to 90°
  • From 90°to 180°
  • From 180°to 270°
  • From 270°to 360°

对于每个季度,你必须计算出手指何时移动(假设0°线从中心点直到顶部):

如果手指在第一个四分之一,你知道,如果x向左移动,旋转方向一定是逆时针的。,,

  • 。如果x向右更改,则必须顺时针旋转。

将此逻辑应用于所有季度。现在,您知道慢跑轮是顺时针还是逆时针移动。你必须确保手指永远不会离开走廊(如果你测试了这一逻辑,并且因为离开走廊而停止了移动,请将走廊变大-感谢CrystalSkull的评论:使用44px作为走廊的最小宽度,以应用于人机接口指南)。

Sumary

因此,现在您可以得出结论,您需要一个中心点和一个可以移动手指的走廊。你必须找出手指在哪个季度,并找出(使用x值)是顺时针旋转还是逆时针旋转。

我希望这对你有一点帮助。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3186273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文