2011-02-14 36 views
0

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

这样做的最好方法是什么?

回答

1

这似乎是最简单的事情你显示/隐藏导航栏做会增加一个UITapGestureRecognizer,并设置numberOfTouchesRequired和numberOfTapsRequired为1

或者,你可以用它代替的touchesBegan touchesEnded。然后在你的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 ... 
    } 
} 
相关问题