У меня есть прокручиваемый, нередактируемый UITextView. Я хочу добавить распознаватель жестов к нему, чтобы при двойном нажатии на него отображалась панель инструментов, при двойном нажатии снова панель инструментов скрывалась.
Я отключил функцию выбора текстового представления, разделив ее на подклассы и переопределив canBecomeFirstResponder
, чтобы вернуть NO.
Это нормально, когда я просто добавляю к нему распознаватель крана.
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showOrHideToolbars)];
tapRecognizer.numberOfTapsRequired = 2;
tapRecognizer.numberOfTouchesRequired = 1;
[textView addGestureRecognizer:tapRecognizer];
Работает хорошо, исключая, если я коснусь и удерживаю текстовое представление, после этого распознаватель больше не будет получать никаких действий.
Это означает, что если я коснусь и удержу текстовое представление (я полагаю, что текстовое представление переходит в режим выбора, даже если я отключаю функцию выбора), двойное касание больше не может быть обнаружено.
Я пытался использовать однократное нажатие, тогда проблема исчезла, но мне нужно использовать двойное нажатие.
Я также пытался переопределить методы обработчика событий касания, но безрезультатно.