禁用WKWebView一些响应事件的方法
2020-08-17 本文已影响0人
hurricaner
1. 使用wkwebview时,禁止网页放大缩小,用注入js的方式最靠谱:
NSString *injectionJSString = @"var script = document.createElement('meta');"
"script.name = 'viewport';"
"script.content=\"width=device-width, user-scalable=no\";"
"document.getElementsByTagName('head')[0].appendChild(script);";
[webView evaluateJavaScript:injectionJSString completionHandler:nil];
其中“user-scalable=no”是关键,等于yes时,就可以放开缩放了。
2. 使用wkwebview时,如果只想禁止网页的页面点击,而不想禁止网页的滑动、缩放等其他触摸事件,可以这么做:
for (UIView *view in self.webView.scrollView.subviews)
{
if ([view isMemberOfClass:NSClassFromString(@"WKContentView")])
{
view.userInteractionEnabled = NO;
}
}
找出wkwebview中负责显示网页元素的页面,然后设置userInteractionEnabled = NO,就可以了。