如何从UIWebview中删除选择?

时间:2013-03-07 12:34:04

标签: iphone ios objective-c xcode cocoa-touch

在我的iPhone应用程序中,我在视图控制器中使用Web视图。 当我按住屏幕时,某些选项会出现在webview上,有时会出现一个带有“复制”和“取消”按钮的操作表

如何删除?

enter image description here

2 个答案:

答案 0 :(得分:3)

您可以使用此代码

禁用选择
[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"];

如果您在网页中使用Jscript,那么这可以解决问题

[webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().removeAllRanges();"];

如果你想禁用复制粘贴,那么这可以解决问题

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{    
    if (action == @selector(copy:) ||
        action == @selector(select:)||
        action == @selector(paste:)||
        action == @selector(cut:)) 
    {
        return NO;
    }
    return [super canPerformAction:action withSender:sender];
}

OR

 webView.userInteractionEnabled=NO; // in case you need to disable whole UIWebView

答案 1 :(得分:0)

如果您使用的是.css,则可以将这些添加到相应的样式

    *.noselect {
            -webkit-user-select:none;
            -webkit-touch-callout:none;
    }