【问题标题】:WKWebView ViewportSizing logs in SwiftUISwiftUI 中的 WKWebView ViewportSizing 日志
【发布时间】:2022-08-16 12:13:18
【问题描述】:

在使用SwiftUI 时,WKWebViewUIViewRepresentable 包装器中实现时会成功加载。但是Xcode Version 13.4.1的Debug区出现了以下日志:

[ViewportSizing] maximumViewportInset cannot be larger than frame
[ViewportSizing] minimumViewportInset cannot be larger than frame

如何解决这些日志?

可以使用以下最小可重现示例来重现这些日志:

WebApp.swift

import SwiftUI
import WebKit

@main
struct WebApp: App {
    var body: some Scene {
        WindowGroup {
            WebView()
        }
    }
}

struct WebView: UIViewRepresentable {
    func makeUIView(context: Context) -> some UIView {
        let webView = WKWebView()
        webView.load(URLRequest(url: URL(string: \"https://www.google.com\")!))
        
        return webView
    }
    
    func updateUIView(_ uiView: UIViewType, context: Context) {}
}

进步:

这些日志似乎来源于以下 WebKit 浏览器引擎源代码:

尽管注释掉了 webView.load(URLRequest(url: URL(string: \"https://www.google.com\")!)) 行,但这些日志仍然存在。因此,可以断定这不是网站问题。

    标签: swift xcode swiftui


    【解决方案1】:

    这可以通过将帧设置为大于零来解决:

    let webView = WKWebView()
    

    对此:

    let webView = WKWebView(frame: CGRect(x: 0.0, y: 0.0, width: 0.1, height: 0.1))
    

    【讨论】:

      猜你喜欢
      • 2020-08-19
      • 2021-12-09
      • 1970-01-01
      • 2020-02-08
      • 2021-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多