当前位置:  开发笔记 > IOS > 正文

检测iphone上的特殊触控

如何解决《检测iphone上的特殊触控》经验,为你挑选了1个好方法。

我问自己是否有在线示例,其中包括如何在触摸手势中检测形状.

例如一个矩形或一个圆形(或更复杂的一颗心......)

或者确定滑动的速度(随着时间的推移(就像我将我的iphone刷到50英里每小时))



1> 小智..:

对于非常简单的手势(水平与垂直滑动),计算两次触摸之间的x和y差异.

dy = abs(y2 - y1)
dx = abs(x2 - x1)
f = dy/dx

接近零的f是水平滑动.f接近1是对角线滑动.并且非常大的f是垂直滑动(请记住,dx可能为零,因此上述不会产生所有x和y的有效结果).

如果你对速度感兴趣,毕达哥拉斯可以提供帮助.两次触摸之间的距离长度为:

l = sqrt(dx*dx + dy*dy)

如果触摸发生在时间t1和t2,则速度为:

tdiff = abs(t2 - t1)
s = l/tdiff

由您来决定您解释为快或慢的s值.

您可以将此方法扩展为更复杂的数字,例如,您的方形可以是水平/垂直/水平/垂直滑动,其中开始/结束点在前一次滑动停止的位置.

对于更复杂的数字,使用理想化的形状可能更好.可以将多边形形状视为理想形状,并检查是否有一系列触摸

    距离pologyon轮廓上最近点的距离不是太远

    所有触摸都沿着多边形的轮廓沿着相同的方向.

你可以从那里进一步改进.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有