SwiftUIでWebViewを表示する
SwiftUIでWebViewを表示する方法です。 UIViewRepresentable を使わなくても良い WebView が早く出て欲しいです。

ContentView.swift
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(destination: SecondView(urlString: "https://www.google.com/")) {
Text("Push Me")
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
MyWebView.swift
import SwiftUI
import WebKit
struct MyWebView: UIViewRepresentable {
let urlString: String
func makeUIView(context: Context) -> WKWebView {
return WKWebView()
}
func updateUIView(_ uiView: WKWebView, context: Context) {
guard let url = URL(string: urlString) else {
return
}
uiView.load(URLRequest(url: url))
}
}
struct MyWebView_Previews: PreviewProvider {
static var previews: some View {
MyWebView(urlString: "https://www.google.com/")
}
}
SecondView.swift
import SwiftUI
struct SecondView: View {
let urlString: String
var body: some View {
MyWebView(urlString: urlString)
.navigationBarTitle(Text(urlString), displayMode: .inline)
}
}
struct SecondView_Previews: PreviewProvider {
static var previews: some View {
SecondView(urlString: "https://www.google.com/")
}
}
