Ora*_*chi 1 uiwebview webview ios swift
我将文本加载到 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)
Run Code Online (Sandbox Code Playgroud)
您拥有的标签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)
Run Code Online (Sandbox Code Playgroud)
这样做的第一件重要的事情是设置视口,以便页面具有适合设备的正确比例(这是文本如此小的主要原因)。然后,它还向您展示了如何为 HTML 正文设置字体系列和字体大小。
如果您的 HTML 标记已经具有<head>和<body>标签,您可能希望通过注入 javascript 来执行相同类型的操作(更改视口和正文样式)。您可以在此处查看有关执行此操作的一些信息:WKWebView相当于UIWebView的scalesPageToFit
| 归档时间: |
|
| 查看次数: |
4185 次 |
| 最近记录: |