Нажмите «Распознаватель жестов» слишком медленно

Мне трудно получить UITapGestureRecognizer для обнаружения каждого касания, которое происходит. Для контекста я делаю барабанное приложение. Я получил признак распознавания жестов, чтобы работать правильно, но пользователь должен иметь возможность быстро нажимать на барабан, и распознаватель только набирает, скажем, крана каждый раз так часто (если вы пытаетесь постучать так быстро, как можете ).

Я предполагаю, что это связано с тем, что iOS категоризирует очень быстрые нажатия в строке в качестве одного жеста, но есть ли способ получить каждый раз, когда палец опускается как событие крана?

Я попытался использовать UILongPressGestureRecognizer с небольшой продолжительностью нажатия.

Я попробовал установить requiredNumberofTouches и requiredNumberofTaps до 1.

Код не кажется необходимым для публикации, чтобы ответить на вопрос, но я отправлю его, если вы его попросите.

Любая помощь была бы очень признательна!

EDIT: я добавляю свой код, так как он может помочь:

 -(void)tap:(UITapGestureRecognizer *)tapGestureRecognizer { CGPoint location = [tapGestureRecognizer locationInView:[self view]]; switch ([self validateTouchLocation:location]) { case 0: return; case 1: [[ASSoundManager sharedManager] playSoundNamed:@"SD0025" ofType:@"mp3"]; break; case 2: default: [[ASSoundManager sharedManager] playSoundNamed:@"SD0010" ofType:@"mp3"]; break; } float tapWidth = 30; ASDrumTapView *drumTapView = [[ASDrumTapView alloc] initWithFrame:CGRectMake(location.x - (tapWidth / 2), location.y - (tapWidth / 2), tapWidth, tapWidth)]; [drumTapView setBackgroundColor:[UIColor clearColor]]; [drumTapView setNeedsDisplay]; [[self view] addSubview:drumTapView]; float animDuration = 0.75; CGRect frame = [drumTapView frame]; [UIView animateKeyframesWithDuration:animDuration delay:0.0 options:0 animations:^{ [UIView addKeyframeWithRelativeStartTime:0 relativeDuration:animDuration animations:^{ [drumTapView setFrame:CGRectInset(frame, -frame.size.width, -frame.size.height)]; }]; [UIView addKeyframeWithRelativeStartTime:0 relativeDuration:3*animDuration/5 animations:^{ [[drumTapView layer] setOpacity:0.0]; }]; } completion:^(BOOL finished) { [drumTapView removeFromSuperview]; }]; } 

2 Solutions collect form web for “Нажмите «Распознаватель жестов» слишком медленно”

Могло быть много причин:

  • Одна из возможных причин может заключаться в том, что ваш звуковой движок не может воспроизводить следующий звук перед тем, как закончится предыдущий звук.
  • Проверить свойство multipleTouchEnabled на UIView
  • Если ваше представление встроено в UIScrollView или любой производный класс, проверьте свойство delaysContentTouches

Хотя я ценю вклад каждого, я понял это сам.

В моем коде я запускаю анимацию ключевого кадра с параметрами, установленными в 0 . Это означает, что во время анимации взаимодействие пользователя с представлением не включено.

Установив options UIKeyframeAnimationOptionAllowUserInteraction , я могу подобрать краны, хотя одно из подзонов все еще находится в анимации.

Надеюсь, это поможет кому-то еще!

  • Включить UIPanGestureRecognizer, когда longPress
  • Разрешить пользователю отменять MBProgressHUD, когда вызов JSON занимает слишком много времени
  • UITapGestureRecognizer Программирует триггер в моем представлении
  • Как определить конец одновременных жестов? (IOS)
  • Перехват затрагивает UIView над GMSMapView
  • Показать изображение в UIButton при длительном нажатии
  • Событие Touch UIButton попадает в основной вид
  • Обнаружение UIGestureStateEnded по умолчанию для распознавателя жеста UIScrollView
  • Snapchat-подобный текст на изображении
  • Отключение жесткого переключателя задач Touch Touch на левом крае экрана
  • Длительный конец рукоятки
  • Interesting Posts

    Есть ли способ проверить, что идентификатор для поставщика (IDFV) действителен?

    Пример токена устройства iOS для Push-уведомлений

    Отправка SMS с использованием Twilio в iOS

    iOS Bluetooth BLE и модель объединения «Just works»

    Задайте начальную точку горизонтального UIScrollView

    Получение уведомлений, когда пользователь нажимает «Поиск» на клавиатуре в UISearchDisplayController

    Изображение .png отображается как синие круги в iOS

    Почему flex влияет на размер шрифта на iOS?

    React Native fetch Ошибка сетевого запроса iOS

    userInterfaceIdiom всегда указывает iPhone

    Можно ли использовать динамическую библиотеку (общий объект) в моем приложении iphone?

    Цель C – вычисление количества дней между двумя датами

    Раскадровка против Xibs – iOS9

    NSCoding NSMutableDictionaries, содержащий пользовательские объекты

    iOS 9: низкая энергия -> Нужно ли разработчикам подготовиться к этому?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.