在uiwebview中禁用'copy'但不能'select'。

时间:2013-02-20 00:22:55

标签: javascript ios uiwebview

我想在uiwebview中禁用'copy',而不是'select'选项。我该怎么做呢?这是因为我在我的JavaScript中使用window.getSelection()来选择用户选择并对其进行一些处理。 “复制”uimenucontrolleritem和打开的“复制”功能不是必需的,并且会混淆我的应用程序的用户。

1 个答案:

答案 0 :(得分:0)

取自https://stackoverflow.com/a/6614465/how-do-you-really-remove-copy-from-uimenucontroller

的答案

首先,您的UIWebView需要来自UIWebView的子类。在XCode中转到文件 - >新的 - > File ...并添加一个名为“MyUIWebView”的新Objective-c类,并使其成为UIWebView的子类。

在MyUIWebView.m文件中添加以下内容

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(copy:))
    return NO;
else if (action == @selector(select:))
    return YES;

    return [super canPerformAction:action withSender:sender];
}

从此处将您的课程链接到包含您的UIWebView的viewcontroller,并浏览您的代码并将所有UIWebView实例替换为MyUIWebView。

刚刚在ios 6.1模拟器上测试过它似乎有效。