Как определить разницу между прикосновениями

Как я могу игнорировать метод touchesBegan, когда пользователь зажимает объект, и игнорировать метод touchesMoved, когда пользователь нажимает на экран? Я создал эффект увеличения / уменьшения масштаба изображения, и я хочу иметь возможность скрыть панель навигации, когда пользователь нажимает на экран один раз. Прямо сейчас, когда пользователь начинает зажимать, панель навигации отображается, так как пользователь коснулся один раз.

Каков был бы лучший способ сделать это?

1 ответ

Решение

Кажется, что для вашей навигационной панели показать / скрыть проще всего было бы добавить UITapGestureRecognizer и установить для numberOfTouchesRequired и numberOfTapsRequired значение 1.

В качестве альтернативы вы можете использовать touchesEnded вместо touchesBegan. Затем в ваших прикосновениях закруглите, вы можете проверить количество касаний и показать / скрыть только если это 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 ...
    }
}
Другие вопросы по тегам