iOS-禁用 UIWebView 放大镜及拷贝粘贴弹出框

2024-04-10 04:32

本文主要是介绍iOS-禁用 UIWebView 放大镜及拷贝粘贴弹出框,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家常常在开发中会碰到这样的需求–禁用网页或PDF文件中放大镜及拷贝粘贴弹出框
查询了很多资料发现如下方法已经失效

webView.stringByEvaluatingJavaScriptFromString("document.documentElement.style.webkitUserSelect='none';")
webView.stringByEvaluatingJavaScriptFromString("document.documentElement.style.webkitTouchCallout='none';")

你可以试一下如下方法
这里写图片描述
由于网页长按手势默认时间是0.5秒,所有我们在设置长按手势时间要小于0.5秒就行

-(void)createUI{_myWebView = [[UIWebView alloc]initWithFrame:self.view.bounds];NSURL * url = [NSURL URLWithString:@"http://www.baidu.com"];[_myWebView loadRequest:[NSURLRequest requestWithURL:url]];[self.view addSubview:_myWebView];//    加载pdf文件方法//    NSString *path = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"pdf"];
//    
//    NSURLRequest* pdfRequest = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]];
//    [_myWebView loadRequest:pdfRequest];UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:nil];longPress.delegate = self;   //记得在.h文件里加上<UIGestureRecognizerDelegate>委托longPress.minimumPressDuration = 0.4;  //这里为什么要设置0.4,因为只要大于0.5就无效,我想是因为默认的跳出放大镜的手势的长按时间是0.5秒,[_myWebView addGestureRecognizer:longPress];
}#pragma mark - GestureRecognizerDelegate
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{return NO; //这里一定要return NO,至于为什么大家去看看这个方法的文档吧。}

这篇关于iOS-禁用 UIWebView 放大镜及拷贝粘贴弹出框的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/890069

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

Linux 使用rsync拷贝文件

显示进度条 rsync 可以显示进度条,您可以使用 --progress 或 -P 选项来显示每个文件的传输进度和已完成文件的统计信息。 显示进度条的常用选项: --progress 选项 使用 --progress 显示每个文件的传输进度信息:rsync -av --progress /src/ /dest/ -a:归档模式,表示递归拷贝并保持文件权限、时间戳等。-v:详细模式,显示更

python基础语法十一-赋值、浅拷贝、深拷贝

书接上回: python基础语法一-基本数据类型 python基础语法二-多维数据类型 python基础语法三-类 python基础语法四-数据可视化 python基础语法五-函数 python基础语法六-正则匹配 python基础语法七-openpyxl操作Excel python基础语法八-异常 python基础语法九-多进程和多线程 python基础语法十-文件和目录操作

插件maven-search:Maven导入依赖时,使用插件maven-search拷贝需要的依赖的GAV

然后粘贴: <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.26</version> </dependency>

JS手写实现深拷贝

手写深拷贝 一、通过JSON.stringify二、函数库lodash三、递归实现深拷贝基础递归升级版递归---解决环引用爆栈问题最终版递归---解决其余类型拷贝结果 一、通过JSON.stringify JSON.parse(JSON.stringify(obj))是比较常用的深拷贝方法之一 原理:利用JSON.stringify 将JavaScript对象序列化成为JSO

iOS剪贴板同步到Windows剪贴板(无需安装软件的方案)

摘要 剪贴板同步能够提高很多的效率,免去复制、发送、复制、粘贴的步骤,只需要在手机上复制,就可以直接在电脑上 ctrl+v 粘贴,这方面在 Apple 设备中是做的非常好的,Apple 设备之间的剪贴板同步功能(Universal Clipboard)确实非常方便,它可以在 iPhone、iPad 和 Mac 之间无缝传输剪贴板内容,从而大大提高工作效率。 但是,iPhone 如何和 Wind

一不小心给桌面粘贴了1280个文件怎么办?

搞了一下午很混乱,慌乱中不小心将一个文件夹里的1280个包粘贴在了桌面上,         完后都没有撤销粘贴这个鼠标右键功能,反而还可以再粘贴。         很懵逼,只能把桌面上可以看见的多余文件删除,那么看不见的呢又拽不出来。         同时发现刷新桌面会很有明显的卡顿,说明那些文件确实还存在着,比之前的响应速度慢多了。         苦逼中去百度了一下然而

HDD 顺序和随机文件拷贝和存储优化策略

对于机械硬盘(HDD),顺序拷贝和随机拷贝涉及到磁头的移动方式和数据的读取/写入模式。理解这些概念对于优化硬盘性能和管理文件操作非常重要。 1. 顺序拷贝 定义: 顺序拷贝指的是数据从硬盘的一个位置到另一个位置按顺序连续读取和写入。这意味着数据在硬盘上的位置是线性的,没有跳跃或回溯。 特点: 磁头移动最小化:由于数据是连续的,磁头在读取或写入数据时只需要在磁盘的一个方向上移动,减少了寻道时

iOS项目发布提交出现invalid code signing entitlements错误。

1、进入开发者账号,选择App IDs,找到自己项目对应的AppId,点击进去编辑, 2、看下错误提示出现  --Specifically, value "CVYZ6723728.*" for key "com.apple.developer.ubiquity-container-identifiers" in XX is not supported.-- 这样的错误提示 将ubiquity