iOS 13 UIPanGestureRecognizer ведет себя не так, как iOS 12 - PullRequest
0 голосов
/ 07 июля 2019

У меня есть пользовательский вид прокрутки, который работает намного раньше, чем iOS 13, использующий UIPanGestureRecognizer:

    _panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
    _panRecognizer.delegate = self;

- (void)handlePan:(UIGestureRecognizer *)gestureRecognizer
{
    UIPanGestureRecognizer* pgr = (UIPanGestureRecognizer*)gestureRecognizer;
    if (pgr.state == UIGestureRecognizerStateChanged) {
        // do something
    }
}

Теперь это не сработало с iOS 13. Функция handlePan больше не вызывается, пока 3 пальца не сдвинуты вместе. В iOS 12 эта функция будет вызываться при перемещении всего одного пальца.

Я попытался установить min/maximumNumberOfTouches, но не работает. Что-нибудь изменилось?

1 Ответ

1 голос
/ 07 июля 2019

Похоже, ваш жест конкурирует с системным жестом.Вы проверяли свойство .gestureRecognizers представления, чтобы видеть, изменилось ли что-нибудь?

Возможно, вам придется реализовать gestureRecognizer(_:shouldRecognizeSimultaneouslyWith:) метод делегата, по умолчанию он возвращает false.

...