首页 文章

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

提问于
浏览
0

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

1 回答

  • 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;
    

    并在触摸移动事件中使其为真

    - (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
    
        _isMoved = YES;
    }
    

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

    希望对你有帮助 :)

相关问题