目前只发现两种方法可以实现webView加载网页禁止缩放的要求
WKWebView禁止缩放方法
第一种
使用WKWebView的代理方法(但是这种方法有时候不起作用)
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{return nil;}
第二种
在html网页端禁止缩放需在HTML里边的mata标签加入user-scalable = no,若是原生js交互的话可采用注入js的方法更改meta。
- (WKWebViewConfiguration *)webConfig
{
if (!_webConfig) {
_webConfig = [WKWebViewConfiguration new];
WKUserContentController *userController = [WKUserContentController new];
NSString *js = @" $('meta[name=description]').remove(); $('head').append( '<meta name=\"viewport\" content=\"width=device-width, initial-scale=1,user-scalable=no\">' );";
WKUserScript *script = [[WKUserScript alloc] initWithSource:js injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:NO];
[userController addUserScript:script];
[userController addScriptMessageHandler:self name:@"openInfo"];
_webConfig.userContentController = userController;
}
return _webConfig;
}
本文介绍了两种禁止WebView加载网页时缩放的方法:一种是通过WKWebView的代理方法,另一种是在HTML中设置meta标签来禁止缩放。对于原生JS交互的情况,提供了注入JS代码的具体实现。
1825

被折叠的 条评论
为什么被折叠?



