WKWebView中的字体看起来比UIWebView中的字体小

无夜之*_*之星辰 18 html objective-c uiwebview swift wkwebview

我将UIWebView更改为WKWebView,但是,使用相同的html,WKWebView中的字体看起来比UIWebView中的字体要小.我不希望这种情况发生,所以有什么方法可以避免这种变化吗?

无夜之*_*之星辰 58

最后我通过添加一个html字符串解决了这个问题:

NSString *headerString = @"<header><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no'></header>";
[self.webView loadHTMLString:[headerString stringByAppendingString:yourHTMLString] baseURL:nil];
Run Code Online (Sandbox Code Playgroud)


ish*_*nwa 20

let description = "<p> HTML content <p>"
var headerString = "<header><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'></header>"
headerString.append(description)              
self.webView.loadHTMLString("\(headerString)", baseURL: nil)
Run Code Online (Sandbox Code Playgroud)


Ile*_*esh 16

Swift 中执行此操作的简单方法

extension WKWebView {

    /// load HTML String same font like the UIWebview
    ///
    //// - Parameters:
    ///   - content: HTML content which we need to load in the webview.
    ///   - baseURL: Content base url. It is optional.
    func loadHTMLStringWithMagic(content:String,baseURL:URL?){
        let headerString = "<header><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no'></header>"
        loadHTMLString(headerString + content, baseURL: baseURL)
    }
}
Run Code Online (Sandbox Code Playgroud)

只需简单地调用这个方法,魔法就会发生。;)

webView.loadHTMLStringWithMagic(content: "<p> HTML content <p>", baseURL: nil)
Run Code Online (Sandbox Code Playgroud)

输出: 在此处输入图片说明