У меня есть UITextField, который является подзадачей UIScrollView У меня есть единственный жест нажатия (или, возможно, более старый контакт) как часть UITextField, который делает его первым ответчиком. Я хотел добавить двойной жест Жест к UITextField. Чтобы сделать два Gesture взаимоисключающими, мне нужно было перегрузить (хотя это не совсем то слово, потому что я не использую одно и то же имя) единственное нажатие Gesture. Когда я это делаю, это прекрасно работает, пока функция, которую он вызывает, не делает UITextField первым ответчиком. Если это делает текстовое поле первым ответчиком, он не работает во второй раз, когда он называется ... wtf. Так что стопка, небольшая помощь проделана долгий путь.Ошибка UIGesture по неизвестной причине в IOS
это где я добавить этот жест
UITapGestureRecognizer * singleTextTap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSingleTextTap:)];
singleTextTap.numberOfTapsRequired = 1;
[aTextField addGestureRecognizer:singleTextTap];
и это, где он называется
//single tap text
- (void) handleSingleTextTap:(UITapGestureRecognizer *)gestureRecognizer{
NSLog(@"handling single tap");
NSLog(@"textField gestures %@",
[gestureRecognizer.view.gestureRecognizers descriptionWithLocale:nil]);
[(UITextField *)gestureRecognizer.view becomeFirstResponder];
}
вы можете заметить NSLog, что из ставит gestuers зарегистрированных в TextField это было проверить состояние моего жестов singleTextTap. который «закончился» в первый раз, и все следующие раз этот код никогда не был достигнут
Этот ответ дал мне ключ, который мне нужен, чтобы решить мою собственную проблему. У меня был распознаватель крана для представления, которое было проигнорировано при нажатии на подзаголовок текстового поля. Временно отключив все «gestureRecognizers» в текстовом поле, я получил поведение, которое искал, без каких-либо побочных эффектов. – phatmann