我有一个可滚动的,不可编辑的UITextView。我要向其中添加一个手势识别器,因此当双击它时,将显示一个工具栏,再次双击它,则工具栏将隐藏。
我通过子类化禁用了文本视图的选择功能,并覆盖了canBecomeFirstResponder
以返回NO。
当我只是将分接识别器添加到它时,似乎还可以。
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showOrHideToolbars)];
tapRecognizer.numberOfTapsRequired = 2;
tapRecognizer.numberOfTouchesRequired = 1;
[textView addGestureRecognizer:tapRecognizer];
效果很好,除非我点击并按住文本视图,此后,识别器将不再接收任何动作。
这意味着,如果我点击并按住文本视图(即使我禁用了选择功能,我想文本视图也会进入选择模式),现在无法再检测到双击。
我尝试使用单按,然后问题消失了,但我确实需要使用双按。
我也尝试重写触摸事件处理程序方法,但是没有用。
最佳答案
文本视图上还附加了许多其他手势识别器。因为您似乎不需要它们。您可以删除它们。
textView.gestureRecognizers = nil;
在添加您的双击识别器之前。有用。