我想禁用文本区域的复制/剪切菜单以防止从应用程序导出任何数据。我将以下代码放在apps/<AppName>/iphone/native/Classes/CDVMainViewController.m
文件中,但它不起作用。当菜单出现时,似乎会调用canPerformAction,但剪切/复制操作不会传递给此代码。
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
BOOL can = [super canPerformAction:action withSender:sender];
if (action == @selector(cut:) || action == @selector(copy:))
{
can = NO;
}
NSLog(@"%@ for action:%@ from sender:%@.",
can ? @"YES" : @"NO", NSStringFromSelector(action), sender);
return can;
}
如何禁用这些选项?
答案 0 :(得分:0)
正如安东在问题的评论区域中所指出的,请看一下这个问题,寻找可能的解决方案:Disabling user selection in UIWebView
以下是一对夫妇:
通过CSS:
textarea {
-webkit-touch-callout: none;
-webkit-user-select: none; /* Disable selection/copy in UIWebView */
}
通过本机代码(虽然我认为这可能不是特定于textarea,而是整个应用程序屏幕;但你可以修改它):
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(copy:) ||
action == @selector(paste:)||
action == @selector(cut:))
{
return _copyCutAndPasteEnabled;
}
return [super canPerformAction:action withSender:sender];
}