Ios 禁用UITextView的放大镜,但在objective c中启用链接和电话号码检测

Ios 禁用UITextView的放大镜,但在objective c中启用链接和电话号码检测,ios,objective-c,iphone,ios-simulator,Ios,Objective C,Iphone,Ios Simulator,iOS9中的UITextview有一个问题,当我在textview上长按时,它会显示放大镜。我尝试通过UILongPressGestureRecognitor禁用,它也完全禁用链接和手机触摸事件 如何仅禁用放大镜。 文本视图将位于UITableView单元格中。UILongPressGestureRecognitizer取消选中取消视图中的触摸,如果使用stroyboard,如果从代码执行,则将其值设置为false检查检测链接 取消选中可选择、可编辑 如果我理解正确,您希望禁用放大镜,但它是系统

iOS9中的UITextview有一个问题,当我在textview上长按时,它会显示放大镜。我尝试通过UILongPressGestureRecognitor禁用,它也完全禁用链接和手机触摸事件

如何仅禁用放大镜。 文本视图将位于UITableView单元格中。

UILongPressGestureRecognitizer取消选中取消视图中的触摸,如果使用stroyboard,如果从代码执行,则将其值设置为false

检查检测链接 取消选中可选择、可编辑

如果我理解正确,您希望禁用放大镜,但它是系统调用的。您只能更改
UIMenuController状态:hidden
show
以及
UIMenuController
中的
UIMenuItem
。像这样


我终于自己解决了这个问题。在UITextView子类中,使用:

- (void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer {
    // remove magnifying glass, still allowing link detection:
    if ([gestureRecognizer class] == [UILongPressGestureRecognizer class] || [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
        [super addGestureRecognizer:gestureRecognizer];
    }
}

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    // remove magnifying glass, still allowing link detection:
    if ([gestureRecognizer class] == [UILongPressGestureRecognizer class] || [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
        return YES;
    }
    return NO;
}

通过将属性设置为false,我仍然发现了一个问题。放大镜还是来了。如果我禁用UILongPressGestureRecognitor,那么它将禁用电话号码和链接检测。我得到了答案。。。我只是减少UILongPress手势的延迟量。它解决了我的问题。谢谢大家给我宝贵的时间。不。。。。。。。。菜单工作正常,但我无法禁用放大镜。。。。。