我正在尝试在Xcode2.0Xcode12.4中创建一个SwiftUI视图,但它太新了,我找不到好的示例来回答问题和最佳实践。对于下面的代码,我得到了以下错误。
类型“SwiftUIWebView”不符合协议“UIViewRepresentable”
此外,设置配置已更改,我无法正确启用.allowsContentJavaScript。尝试将其添加到"perfs“会触发一个错误,抱怨不喜欢Bool。
import SwiftUI
import WebKit
struct SwiftUIWebView: UIViewRepresentable {
let url: URL?
func makeUIView(context: Context) -> some WKWebView {
let prefs = WKWebpagePreferences()
let config = WKWebViewConfiguration()
config.defaultWebpagePreferences = prefs
return WKWebView(frame: .zero, configuration: config) //frame CGRect
}
func updateUIView(_ uiView: WKWebView, context: Context) {
guard let myURL = url else { return }
let request = URLRequest(url: myURL)
uiView.load(request)
}
}
发布于 2021-01-29 22:23:12
从此行中删除some
:
func makeUIView(context: Context) -> some WKWebView {
some
是在处理泛型和不透明类型时使用的特定关键字(有关更多信息,请参阅此链接:What is the some
keyword in Swift(UI)?)。在这种情况下,您不需要泛化WKWebView
,因为您确切地知道它是什么。
可以通过执行以下操作来设置prefs.allowsContentJavaScript
属性:
prefs.allowsContentJavaScript = true
https://stackoverflow.com/questions/65961567
复制相似问题