如何解决SwiftUI WebKit WKWebView:如何支持多 url
我开发了一个网页,现在想开发 iOS 应用。
我的想法是: 通过菜单更改新网址
struct ContentView: View {
var body: some View {
Webview(url: "https://readmorejoy.com")
HStack {
Menu("Menu") {
Button("menu1",action: {
// Webview(url: "https://readmorejoy.com")
})
Button("menu2",action: {})
Button("menu3",action: {})
}
}
}
}
解决方法
在这里
struct ContentView: View {
@State private var urlString = "https://readmorejoy.com" // << initial !!
var body: some View {
Webview(url: urlString) // << use !!
HStack {
Menu("Menu") {
Button("menu1",action: {
self.urlString = "https://readmorejoy.com" // << update !!
})
Button("menu2",action: {})
Button("menu3",action: {})
}
}
}
}
,
好吧好吧 这是我的更新代码
struct Webview: UIViewRepresentable {
var url: String
func makeUIView(context: Context) -> WKWebView {
guard let url = URL(string: self.url) else {
return WKWebView()
}
let request = URLRequest(url: url)
let wkWebview = WKWebView()
wkWebview.load(request)
return wkWebview
}
func updateUIView(_ uiView: Webview.UIViewType,context: UIViewRepresentableContext<Webview>) {
if let url = URL(string: self.url) {
let request = URLRequest(url: url)
uiView.load(request)
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。