iOS 填坑之 WKWebView字体自适应

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yanglei3kyou/article/details/82251068

阐述

WKWebView作为“新来”的则必然代表它有些“特殊”,这次我们先不讨论它俩的区别,我们来适配一下WKWebView所展示内容。

最近搞了一个产品,因合同条款后期需要动态修改,故用了一个链接来实现。

但问题也就随之而来,加载出来的文字大小与在浏览器选择手机模式时的不一致。

故网上寻求解决方法并填之。

 

记录

群众推荐的方法

1 让前端小哥添加

在前端小哥忙碌的时候,你是不能提任何要求的,还是我们自己处理吧。

 

2 利用WKWebView向网页内容中注入JS代码 (经测试有效果)

- (WKWebView *)webView {

    if (!_webView) {

        //以下代码适配大小

        NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);";

        

        WKUserScript *wkUScript = [[WKUserScript alloc] initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];

        WKUserContentController *wkUController = [[WKUserContentController alloc] init];

        [wkUController addUserScript:wkUScript];

        

        WKWebViewConfiguration *wkWebConfig = [[WKWebViewConfiguration alloc] init];

        wkWebConfig.userContentController = wkUController;

        

        _webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:wkWebConfig];

        [self.view addSubview:_webView];

    }

    return _webView;

}

资料

https://blog.csdn.net/ynynynynx4/article/details/78192976

https://blog.csdn.net/box_kun/article/details/79260925

展开阅读全文

没有更多推荐了,返回首页