Я хочу реагировать на двойные нажатия на ячейки в UICollectionView и иметь выбор ячейки отмены двойного касания.
Вот что я пробовал:
UITapGestureRecognizer *tapRecogniser = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
tapRecogniser.numberOfTapsRequired = 2;
for (UITapGestureRecognizer *recogniser in [self.collectionView gestureRecognizers]) {
[recogniser requireGestureRecognizerToFail:tapRecogniser];
}
[self.collectionView addGestureRecognizer:tapRecogniser];
То есть, я пытаюсь получить признак распознавания по умолчанию, если он завершит мой распознаватель жестов с двойным касанием.
Это не работает, поскольку делегат коллекции collectionView:didSelectItemAtIndexPath:
по-прежнему вызывает вызов после двойного нажатия
Примечание к документам Apple UICollectionViewController
Документация Apple вводит в заблуждение, утверждая, что распознаватель жестов по умолчанию является экземпляром подкласса UITapGestureRecognizer, поэтому его можно легко выбрать с помощью [recogniser isKindOfClass:[UITapGestureRecognizer class]]
, К сожалению, это ошибка.