显示文档时没有复制/粘贴和选择矩形的UIWebView
在我的应用程序中,我想禁用UIWebView对象显示的内容的复制/粘贴/剪切。为此,我创建了一个UIWebView子类并覆盖了
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
方法:
#pragma mark - UIResponderStandardEditActions
- (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];
}
现在用户不再可以进行此类操作,但UIWebView仍显示“选择矩形”,如以下屏幕截图所示:
注意:UIWebView中显示的内容不是HTML页面。我正在显示文件文件(PDF,DOC,PPT),使用以下文件从文件加载:
NSURL *fileURL = [NSURL fileURLWithPath:<document file path..>];
NSURLRequest *fileRequest = [NSURLRequest requestWithURL:fileURL];
[<uiwebView> loadRequest:fileRequest];
有没有办法禁用/隐藏这个选择矩形功能?
[] S,
没有找到相关结果
已邀请:
2 个回复
惜堡沁戚
要启用缩放,您需要从scrollViews委托添加额外的方法。
您可以下载一个示例项目http://www.multiupload.com/P8SOZ4NW6C(这是一个xcode 4项目)。 注意:如果你放大到很多因为webView不知道要重新渲染东西,并且因为你无法点击链接(但在PDF中应该不是问题),缩放会对webView的内容进行像素化处理。 编辑2:更好的方法 自写这篇文章以来,我已经实现了一种更简单,更简单的方法,这也应该解决像素化问题。
现在你应该只能与UIScrollView本身进行交互,这意味着缩放,滚动,等等......应该仍然可以工作(当你缩放时页面应该重新渲染而不是像素化)但你不能选择任何文本或类型任何事情。 此方法的另一个原因是基于这个UIWebView子视图列表,可以在页面开始加载之前设置它,而不是在它完成加载页面之后设置。
梆晨灸碾