如何在 WKWebView swift 5 中更改字体大小?
Posted
技术标签:
【中文标题】如何在 WKWebView swift 5 中更改字体大小?【英文标题】:How do i change font size in WKWebView swift 5? 【发布时间】:2019-12-02 11:31:26 【问题描述】:我使用 UIWebview
和此代码,它在 ios 13 之前可以正常工作。由于 UIWebview
已被弃用,它在 iOS 13 中不起作用。我该如何使用 WKWebView
?
func changedFont(size: Int)
let jsString = "document.getElementsByTagName('body')[0].style.fontSize='\(size)px'"
webView.stringByEvaluatingjavascript(from: jsString)
【问题讨论】:
你可以试试链接***.com/a/46000849/2641380的答案 【参考方案1】:试试这个
self.webView.loadhtmlString("<html><body><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0,Proxima Nova-Regular\">\(content)</body></html>", baseURL: nil)
【讨论】:
我使用此代码,不显示文本,仅显示图像webView.loadHTMLString((post?.content!.rendered)!, baseURL: nil)
webView.scrollView.isScrollEnabled = false
【参考方案2】:
试试这个。当您有多种字体大小并且您为所有字体设置了相同的字体大小时,下面的代码将起作用。
func replaceFontSizes(withSize fontSize: Float, in replaceString: String?) -> String?
var replaceString = replaceString
var r1 = (replaceString as NSString?)?.range(of: "font-size:")
while r1?.location != NSNotFound
let strSub = (replaceString as NSString?)?.substring(from: r1?.location ?? 0)
var arrStr: [AnyHashable]?
if strSub?.contains("pt") ?? false
arrStr = strSub?.components(separatedBy: "pt")
else if strSub?.contains("px") ?? false
arrStr = strSub?.components(separatedBy: "px")
let strReplace = arrStr?[0] as? String
replaceString = replaceString?.replacingOccurrences(of: strReplace ?? "", with: String(format: "font@@-@@size:%.2f", fontSize))
r1 = (replaceString as NSString?)?.range(of: "font-size:")
replaceString = replaceString?.replacingOccurrences(of: "font@@-@@size:", with: "font-size:")
return replaceString
【讨论】:
以上是关于如何在 WKWebView swift 5 中更改字体大小?的主要内容,如果未能解决你的问题,请参考以下文章
Swift 5 禁用从 WKWebView 到不同应用程序的重定向
如何在swift 4中从WKWebView中的网页中删除DIV标签?
如何在 Swift 3 的 WKWebView 中注入 javascript