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