【问题标题】:How to change font size in the WebView (Swift 5)如何更改 WebView 中的字体大小(Swift 5)
【发布时间】:2021-06-09 03:41:06
【问题描述】:

我将文本加载到 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)

【问题讨论】:

    标签: ios swift webview uiwebview


    【解决方案1】:

    span 标签实际上不会做任何事情,因为它会立即打开和关闭——它不包含任何内容。

    假设您的 HTML 字符串还没有完整的 &lt;head&gt;&lt;body&gt; 标签,则此解决方案有效:

    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 标记已经有 &lt;head&gt;&lt;body&gt; 标记,您可能希望通过注入 javascript 来做同样的事情(更改视口和正文样式)。您可以在此处查看有关执行此操作的一些信息:WKWebView equivalent for UIWebView's scalesPageToFit

    【讨论】:

    • 如何在 iOS 端做到这一点? A 因为我使用 API,所以无权访问 html 代码。
    • 在您的示例中,您使用名为 myHTMLString 的变量调用 loadHTMLString。那不是HTML吗?
    • 这是来自 json 的字符串
    • 好的——我的回答告诉你如何处理它。我什至更新了它以包含您的确切变量名称。有什么不适合你的吗?
    • 如果我将字体大小更改为更高的值,它可以工作,但值太大了。 14 点 = ±40
    猜你喜欢
    • 1970-01-01
    • 2018-03-09
    • 2014-07-04
    • 2014-08-12
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    相关资源
    最近更新 更多