如何区分touchesBegan和touchesMoved

时间:2011-02-14 19:06:27

标签: ios4 multi-touch touchesbegan touchesmoved

当用户捏住对象时如何忽略touchesBegan方法,当用户点击屏幕时忽略touchesMoved方法?我创建了一个图片放大/缩小效果,我希望能够在用户点击屏幕一次时隐藏导航栏。现在,当用户开始捏合时,导航栏会在用户触摸一次后显示。

最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

对于您的显示/隐藏导航栏,最简单的操作似乎是添加UITapGestureRecognizer并将numberOfTouchesRequired和numberOfTapsRequired设置为1.

或者,您可以使用touchesEnded而不是touchesBegan。然后在你的touchesEnded中,你可以检查触摸次数,只显示/隐藏它是否为1:

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *theTouch = [touches anyObject]; 
    if (theTouch.tapCount == 1) {
        // show/hide navigation here ...
    } else {
        // finish your zoom here ...
    }
}