如何在 WebView 中更改字体大小 (Swift 5)
How to change font size in the WebView (Swift 5)
我将文本加载到 WebView。我需要更改字体及其大小。
我使用这段代码,但字体太小了。不是15分。我的问题是什么?
private lazy var webView: WKWebView = {
let contentController = WKUserContentController()
let webConfig = WKWebViewConfiguration()
webConfig.userContentController = contentController
webConfig.dataDetectorTypes = [.phoneNumber, .link]
let web = WKWebView(frame: .zero, configuration: webConfig)
web.navigationDelegate = self
return web
}()
...
let fontName = "PFHandbookPro-Regular"
let fontSize = 15
let fontSetting = "<span style=\"font-family: \(fontName);font-size: \(fontSize)\"</span>"
webView.loadHTMLString(fontSetting + myHTMLString, baseURL: nil)
您拥有的 span
标签实际上不会做任何事情,因为它会立即打开和关闭 -- 它不包含任何内容。
假设您的 HTML 字符串还没有完整的 <head>
和 <body>
标签,此解决方案有效:
let header = """
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<style>
body {
font-family: "Avenir";
font-size: 24px;
}
</style>
</head>
<body>
"""
webView.loadHTMLString(header + myHTMLString + "</body>", baseURL: nil)
这样做的第一件重要事情是设置视口,使页面的比例适合设备(这是您的文字太小的主要原因)。然后,它还向您展示了如何为 HTML.
的正文设置字体系列和字体大小
如果你的 HTML 标记已经有 <head>
和 <body>
标签,你可能想通过注入 javascript。您可以在此处查看有关执行此操作的一些信息:WKWebView equivalent for UIWebView's scalesPageToFit
我将文本加载到 WebView。我需要更改字体及其大小。 我使用这段代码,但字体太小了。不是15分。我的问题是什么?
private lazy var webView: WKWebView = {
let contentController = WKUserContentController()
let webConfig = WKWebViewConfiguration()
webConfig.userContentController = contentController
webConfig.dataDetectorTypes = [.phoneNumber, .link]
let web = WKWebView(frame: .zero, configuration: webConfig)
web.navigationDelegate = self
return web
}()
...
let fontName = "PFHandbookPro-Regular"
let fontSize = 15
let fontSetting = "<span style=\"font-family: \(fontName);font-size: \(fontSize)\"</span>"
webView.loadHTMLString(fontSetting + myHTMLString, baseURL: nil)
您拥有的 span
标签实际上不会做任何事情,因为它会立即打开和关闭 -- 它不包含任何内容。
假设您的 HTML 字符串还没有完整的 <head>
和 <body>
标签,此解决方案有效:
let header = """
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<style>
body {
font-family: "Avenir";
font-size: 24px;
}
</style>
</head>
<body>
"""
webView.loadHTMLString(header + myHTMLString + "</body>", baseURL: nil)
这样做的第一件重要事情是设置视口,使页面的比例适合设备(这是您的文字太小的主要原因)。然后,它还向您展示了如何为 HTML.
的正文设置字体系列和字体大小如果你的 HTML 标记已经有 <head>
和 <body>
标签,你可能想通过注入 javascript。您可以在此处查看有关执行此操作的一些信息:WKWebView equivalent for UIWebView's scalesPageToFit