我希望能够检测到某人的手指在屏幕上绘制圆周运动 - 好像他们正在绘制一个'O'。这可以用UIGestureRecognizer吗?
答案 0 :(得分:4)
我认为答案取决于你对圆周运动的定义以及你打算如何使用它。例如,您想知道用户手指沿着圆圈走过多少度?或者,你只关心一个完成的圆圈吗?您需要的准确度是多少?您是否希望允许动作被中断,或者这是否需要更多的触及>绘制圆圈>修饰(换句话说,单动)?
一种方法是沿圆周定义一堆矩形区域,并检测用户是否按顺序接触这些区域。这可以为您提供方向和粗略的角度指示。
另一种方法是在触地和触摸之间存储点,并进行一些过滤和曲线拟合,以确定点近似的形状。首先使用基本FIR滤波器的低通滤波器,然后从点到点查看dx和dy。圆(作为一系列圆弧)必须在点到点的某个斜率变化范围内,否则你会有其他形状。
另一种方法是使用神经网络来获取点并告诉你形状是什么样的。
答案 1 :(得分:2)
答案 2 :(得分:1)
使用手势识别器,this project会对跟踪UITouch
事件角度的圆周运动做出反应。
答案 3 :(得分:1)
我对我的问题的回答:
我用过这个:http://iphonedevelopment.blogspot.com/2009/04/detecting-circle-gesture.html
..但将CircleView转换为自定义UIGestureRecognizer。一切都很可爱。
答案 4 :(得分:0)
不,它本身不能识别圆周运动。 你必须实现自己的方法来做到这一点。
答案 5 :(得分:0)
以下是我需要使用视图控制器中的触摸回调来完成它,但这也可以做成一个手势。注意,我试图检测多个圆圈运动(在触摸事件期间产生2个或更多顺时针或逆时针圆圈。