iOS: как сделать распознаватель жестов более отзывчивым во время анимации? - PullRequest
0 голосов
/ 03 февраля 2011

У меня есть 4 подпредставления на странице UIViewController, организованных в виде сетки.Иногда анимация будет работать на подпредставлениях.Я пытаюсь распознать касания в одном из подпредставлений (используя UITapGestureRecognizer).

Теперь, когда анимация не работает, касания распознаются плавно.Но когда анимация запущена, большинство моих нажатий вообще не распознаются (даже если анимация выполняется в другом подпредставлении).

Есть ли способ повысить приоритет распознавателя жестов, чем анимация?Любые предложения приветствуются.Спасибо

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Проблема возникла из-за установки параметров анимации равными 0. После добавления UIViewAnimationOptionAllowUserInteraction в качестве параметра анимации он работает хорошо.

0 голосов
/ 03 февраля 2011

Это звучит как классический случай засорения основного потока. Многопоточность решит вашу проблему.

Сделайте что-то вроде этого:

-(void)performAnimations{
    //Do your animations in this method
}

Если у вас есть анимация в отдельном методе, вы можете сделать это:

[self performSelectorInBackground:@selector(performAnimations)];

Это позволит вашей основной ветке свободно распознавать события касания:)

...