Iphone Can';t在UIWebView中禁用复制/定义选择菜单

Iphone Can';t在UIWebView中禁用复制/定义选择菜单,iphone,ios,cocoa-touch,Iphone,Ios,Cocoa Touch,我知道这是最常见的问题之一。事实上,我发现了以下链接: 但我仍然无法从菜单选择中删除复制和定义项。我只想在菜单上显示我的“快速”和“另一个”项目。谁能给我指路吗?谢谢你抽出时间。这是我的代码和截图 - (BOOL)canPerformAction:(SEL)action withSender:(id)sender { if (action == @selector(quick:)) { NSLog(@"my quick view"); return

我知道这是最常见的问题之一。事实上,我发现了以下链接:

但我仍然无法从菜单选择中删除复制和定义项。我只想在菜单上显示我的“快速”和“另一个”项目。谁能给我指路吗?谢谢你抽出时间。这是我的代码和截图

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


    if (action == @selector(quick:)) {

        NSLog(@"my quick view");
        return YES;

    }else if (action == @selector(another:)){

        NSLog(@"my another view");
        return YES;

    }else if (action == @selector(copy:) ||
        action == @selector(paste:)||
        action == @selector(cut:) ||
        action == @selector(define:) )
    {
        return NO;
    }

    return [super canPerformAction:action withSender:sender];

}

试着用这个方法

-(void)webViewDidFinishLoad:(UIWebView *)theWebView
{
    [webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"];
}

我希望它能帮助您……

首先,要解决您的问题,请将
定义:
更改为
\u定义:
以删除相关选项

但是,
\u define:
是苹果私有API中的一个函数(因为
\u
),如果你想在App Store上发布它们,就不能在产品中使用它们

但是,就您的
复制:
选项而言,您的
canperformation
应该将其删除

仅供参考,我在此附上一个私有API函数列表,canPerformAction将调用:

\u提示替换:

\u showTextStyleOptions:

\u定义:

\u添加快捷方式:

\u可访问性峰值:

\u可访问性PeakLanguage选择:

\u访问性音频讲话:

因此,如果要删除上述任何功能,必须创建自定义菜单栏。下面的视频将帮助您完成此技巧:

祝你好运

编辑:

以下是您的解决方案:

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


if (action == @selector(quick:)) {

    NSLog(@"my quick view");
    return YES;

}else if (action == @selector(another:)){

    NSLog(@"my another view");
    return YES;

}

return NO;

}

谢谢你的建议,但这会毁了一切。我希望显示我的项目“快速”和“另一个”,禁用复制和定义。有关详细信息,请参阅。这是我在查看PDF时收到的API调用:-操作是:剪切:-操作是:选择:-操作是:选择全部:-操作是:粘贴:-操作是:删除:-操作是:\提示替换:-操作是:\显示文本样式选项:-操作是:\添加快捷方式:-操作是:\访问性峰值:-操作是:\访问性峰值语言选择:-操作是:_accessibilityPauseSpeaking:-操作是:makeTextWritingDirectionRightToLeft:-操作是:makeTextWritingDirectionLeftToRight:基本上,禁止包含任何以下划线开头的私有API。如果你碰巧把它们作为你代码的一部分,它肯定会被AppStore拒绝。更准确地说,苹果自己的私有API