Событие поднятия одним пальцем для UIPinchGestureRecognizer

У меня проблемы с UIPinchGestureRecognizer, Есть ли способ (переменная / метод) для обнаружения события подъема одного пальца в его обработчике? Я имею в виду, я сначала положил два пальца на экран и ввел жест щепотка начал / изменил состояние. Затем один палец остается неподвижным на экране, а другой поднимается вверх.

Я заметил, что состояние измененного жеста может быть запущено, когда один палец поднимается, но numberOfToucher по-прежнему равно 2. Есть ли другие переменные / методы, чтобы получить больше информации о событии?

Я пытался подкласс UIPinchGestureRecognizer и добавить touchesEnded обнаружить событие подъема пальца. Это работает, но последний "измененный жест" (см. Выше) запускается вправо ПОСЛЕ прикосновения к закруглению. Поэтому кажется, что единственное решение - установить флаг в touchesEnded и проверить этот флаг в первом следующем вызове в обработчике жестов, что, я думаю, является плохим решением.

Есть ли лучшие решения? Благодарю.

1 ответ

Проверьте номер объекта недвижимости. Это изменилось после движения пальца, без правого пальца вверх. Проверено в iOS9.

UIPinchGestureRecognizer * gr = [ [ UIPinchGestureRecognizer alloc ] initWithTarget:self action:@selector(pinchAction:) ];
[ self.view addGestureRecognizer:gr ];

- (void)pinchAction:(UIPinchGestureRecognizer *)gr
{
    if (gr.numberOfTouches < 2)
    {
        //
    }
}
Другие вопросы по тегам