我喜欢在 uiwebview 中禁用“复制”,而不是“选择”选项。我该怎么做呢?这是因为我在我的 JavaScript 中使用 window.getSelection() 来选择用户选择并对其进行一些处理。不需要打开的“复制”uimenucontrolleritem 和“复制”功能,这会使我的应用程序的用户感到困惑。
问问题
685 次
1 回答
0
取自https://stackoverflow.com/a/6614465/how-do-you-really-remove-copy-from-uimenucontroller上的答案
首先你的 UIWebView 需要来自 UIWebView 的子类。在 XCode 中,转到 File -> new -> 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 的视图控制器链接起来,并通过您的代码并将 UIWebView 的所有实例替换为 MyUIWebView。
刚刚在 ios 6.1 模拟器上测试过,它似乎可以工作。
于 2013-02-20T01:38:49.783 回答