WKWebView加载PDF屏蔽长按功能弹框

简介: 近期有个需求,需要在WKWebView加载PDF中,基于安全的理由,屏蔽【复制、选择全部】等功能弹窗

问题

近期有个需求,需要在WKWebView加载PDF中,基于安全的理由,屏蔽【复制、选择全部】等功能弹窗

解决方案

捕捉长按手势后进行屏蔽,问题是,原来手势是放在view的subview中,导致一直屏蔽view的长按手势没法生效

// 页面加载完成之后调用
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
    DebugLog(@"WKWebViewFinishNavigation");
    // 禁用长按效果
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        for (UIView *view in webView.subviews) {
            for (UIView * subview in view.subviews) {
                for (UIGestureRecognizer *gesture in subview.gestureRecognizers) {
                    if ([NSStringFromClass([gesture class]) isEqualToString:@"UILongPressGestureRecognizer"]
                        ) {
                        [subview removeGestureRecognizer:gesture];
                    }
                }
//                if ([NSStringFromClass([subview class]) isEqualToString:@"_UISizeTrackingView"]) {
//                    NSLog(@"gestureRecognizers:%@",subview.gestureRecognizers);
//
//                }
            }
        }
    });
}


目录
相关文章
|
8月前
|
存储
若依框架 --- pdf文件上传预览功能实现
若依框架 --- pdf文件上传预览功能实现
388 0
|
8月前
|
存储
Vue3 实现 PDF 文件在线预览功能
Vue3 实现 PDF 文件在线预览功能
1602 0
|
JavaScript
vue里怎么使用pdf.js实现pdf文件的预览功能
vue里怎么使用pdf.js实现pdf文件的预览功能
1055 0
vue里怎么使用pdf.js实现pdf文件的预览功能
|
13天前
|
XML C# 数据格式
一个.NET开源、免费、功能强大的 PDF 处理工具
一个.NET开源、免费、功能强大的 PDF 处理工具
|
3月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
178 2
|
5月前
|
开发框架 前端开发 JavaScript
在Winform分页控件中集成导出PDF文档的功能
在Winform分页控件中集成导出PDF文档的功能
|
6月前
|
JSON 测试技术 数据安全/隐私保护
【Docker项目实战篇】Docker部署PDF多功能工具Stirling-PDF
【7月更文挑战第7天】Docker部署PDF多功能工具Stirling-PDF
442 2
|
8月前
|
自然语言处理 数据可视化 数据挖掘
Agent实操(四):Code Interpreter,生成二维码、视频、PDF转txt等炸裂功能
本文介绍Agent自带的Code Interpreter有哪些高级而实用的能力
Agent实操(四):Code Interpreter,生成二维码、视频、PDF转txt等炸裂功能
|
6月前
|
前端开发 Python
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
|
Windows
阿里云的在线文档中,通常不提供直接导出为PDF或其他文档格式的功能
阿里云的在线文档中,通常不提供直接导出为PDF或其他文档格式的功能
668 1