Joh*_*bia 5 xcode swift swiftui
在使用SwiftUI时,WKWebView在UIViewRepresentable包装器中实现时会成功加载。但是, Xcode 版本 13.4.1的调试区域中出现以下日志:
[ViewportSizing] maximumViewportInset cannot be larger than frame
[ViewportSizing] minimumViewportInset cannot be larger than frame
Run Code Online (Sandbox Code Playgroud)
这些日志如何解决?
可以使用以下最小可重现示例来重现这些日志:
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) {}
}
Run Code Online (Sandbox Code Playgroud)
进步:
这些日志似乎源自以下WebKit浏览器引擎源代码:
尽管注释掉了该webView.load(URLRequest(url: URL(string: "https://www.google.com")!))行,这些日志仍然存在。所以,可以断定这不是网站问题。
可以通过更改以下设置将帧设置为大于零来解决此问题:
let webView = WKWebView()
Run Code Online (Sandbox Code Playgroud)
对此:
let webView = WKWebView(frame: CGRect(x: 0.0, y: 0.0, width: 0.1, height: 0.1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2450 次 |
| 最近记录: |