在iPhone应用程序中禁用UITextView中的放大镜

时间:2010-04-04 01:28:20

标签: iphone uitextview touchesmoved

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

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

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

我建议检查 gestureRecognizers 属性。

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

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

答案 2 :(得分:0)

您可以尝试这里提供的提示: How disable Copy, Cut, Select, Select All in UITextView