如何在用户捏住对象时忽略 touchesBegan 方法,并在用户点击屏幕时忽略 touchesMoved 方法?我创建了图片放大/缩小效果,我希望能够在用户点击屏幕一次时隐藏导航栏。现在,当用户开始捏合时,导航栏会在用户触摸一次后显示。
最好的方法是什么?
如何在用户捏住对象时忽略 touchesBegan 方法,并在用户点击屏幕时忽略 touchesMoved 方法?我创建了图片放大/缩小效果,我希望能够在用户点击屏幕一次时隐藏导航栏。现在,当用户开始捏合时,导航栏会在用户触摸一次后显示。
最好的方法是什么?
似乎对显示/隐藏导航栏最简单的方法是添加一个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 ...
}
}