1

我想显示文本,并且我希望能够知道用户在该文本中触摸的位置。因为文本可能很长,我想使用 UITextView 以便包装和一切都得到照顾。当触摸开始或移动时,我想要我自己的事件处理。我的问题是放大镜和选择/选择所有菜单正在中断我的 touchesMoved 事件。

如何禁用放大镜,但仍启用用户交互以便检测触摸?

4

3 回答 3

4

您必须创建一个子类并覆盖这两个函数以禁用select/select all/copy/magnifying

select/select all/copy/

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender

参考: https ://stackoverflow.com/a/1429320/1526023

magnifying

- UILongPressGestureRecognizer
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer

参考: https ://stackoverflow.com/a/10641203/1526023

于 2013-12-21T21:22:30.253 回答
1

我建议检查gestureRecognizers属性。

您会在数组中找到很多它们,并且可能希望将它们全部删除,或者找到触发要拦截并删除/替换它的事件的那些。

我用它从 UITextField 中删除复制/粘贴和放大镜功能

于 2011-10-21T01:37:37.707 回答
0

您可以尝试此处提供的提示: 如何在 UITextView 中禁用复制、剪切、选择、全选

于 2010-05-30T12:38:25.453 回答