0

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

最好的方法是什么?

4

1 回答 1

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 ...
    }
}
于 2011-04-07T19:06:55.047 回答