旋转/方向更改后 wkwebview 中的字体大小

Posted

技术标签:

【中文标题】旋转/方向更改后 wkwebview 中的字体大小【英文标题】:fontsize in wkwebview after rotation/orientation change 【发布时间】:2018-04-25 11:57:13 【问题描述】:

我有一个 wkwebview,我想用从 API 获取的内容(印记、许可证、免责声明等)填充。

我的问题是旋转 iPhone 后字体大小发生变化。但我希望它保持不变。这就是我创建 html 的方式:

func embed(content: String) -> String 
         return "<!DOCTYPE html><html><head><meta charset=\"utf-8\" name=\"viewport\", width=\"device-width\", initial-scale=1.0, maximum-scale=1.0></head><body>\(content)</body></html>"

通过 CSS,我想防止字体大小发生变化(CSS 为字符串):

private static let fontSizeSetting = "html-webkit-text-size-adjust: 100%;"

这就是我运行 CSS 的方式:

func insert(cssString: String, into webView: WKWebView) 
        let jsString = "var style = document.createElement('style'); style.innerHTML = '\(cssString)'; document.head.appendChild(style);"
        webView.evaluatejavascript(jsString, completionHandler: nil)


public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) 
        self.insert(cssString: css, into: self.webView)
    

任何想法如何防止字体大小变化?

这篇文章对我没有帮助:UIWebView resizes text after rotating: looking for explanation for magical bug or my stupidity

【问题讨论】:

如果这是一个问题或默认功能,我也想要这个答案。如果有人可以请回复。 【参考方案1】:

我发现这个 CSS 修复了 WKWebView 字体在旋转问题上的变化。

body -webkit-text-size-adjust: none;

【讨论】:

以上是关于旋转/方向更改后 wkwebview 中的字体大小的主要内容,如果未能解决你的问题,请参考以下文章

如何避免在方向更改后调整 UITableView(旋转)单元格的大小?

在 WKWebView 上禁用字体缩放

Python画图:改变所有字体(大小,名称等)

自动布局 - UILabel 在方向更改后宽度缩小,这是由另一个应该自动调整字体大小的 UILabel 引起的

如何在SVG中旋转期间保持文本方向不变

如何更改 direct.label 中的字体大小?