Reputation: 241
I dev a web, now want to dev iOS app.
my idea is: by menu change new url
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: {})
}
}
}
}
Upvotes: 1
Views: 627
Reputation: 241
all right, all right this is my update code
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)
}
}
}
Upvotes: 1
Reputation: 257533
Here it is
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: {})
}
}
}
}
Upvotes: 0