如何更喜欢点击手势而不是绘制手势?

时间:2013-05-04 18:23:41

标签: ios objective-c uikit gesture

在我看来,我正在覆盖所有“触摸*”方法,让用户在屏幕上绘图。我正在录制地点。 另外我在我的视图中有两个手势识别器来检测单击和双击。 如果我现在移动我的手指一点点而且足够短,我将录制一个小的“画”手势。然而,当抬起手指时,将触发另外的敲击手势。 通过反复试验,我可能会计算出最小时间和移动阈值,但我确信有更聪明的方法吗? 我需要知道多少运动和/或保存以假设没有触发手势会触发。

1 个答案:

答案 0 :(得分:0)

您可以避免点按手势。而不是你可以识别触摸事件本身的点击。

- (void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event {
    if(touches.count == 1)
    {  

       if([[touches anyObject] tapCount] == 1)
       {
       // Do the action here for single tap
       }

       else if([[touches anyObject] tapCount] == 2)
       {
       // Do the action here for double tap
       }
    }
}

你必须设置一个全局bool变量来检查用户是否在屏幕上移动了手指。

BOOL _isMoved;

在触摸移动事件中将其设为TRUE

- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {

    _isMoved = YES;
}

在录制曲目之前,检查此标志是否为TRUE?并且也不要忘记在保存曲目后将标志设为FALSE

希望这会对你有所帮助:)。