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);
//
//                }
            }
        }
    });
    
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章