SwiftUIでURLを入力してボタンを押したらWEBページを表示する

ContentView.swift

import SwiftUI
 
struct ContentView: View {
@State var workUrl: String = ""
@State var fixedUrl: String = "https://www.google.com/"
var body: some View {
VStack(alignment: .leading) {
    TextField(" Enter Url (例 https://apple.com)", text: $workUrl)
    Text("\(fixedUrl)")
    Button(action: {
        self.fixedUrl = self.workUrl
    }) {
        Text("go url")
    }
    WebView(url: URL(string: fixedUrl)!)
}.padding() // VStack
} // some View
} // View
 
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

WebView.swift ContestView.swiftを変更する

import SwiftUI
import WebKit
 
struct WebView: UIViewRepresentable {
    var url: URL
    func makeUIView(context: Context) -> WKWebView {
        return WKWebView(frame: .zero)
    }
    func updateUIView(_ uiView: WKWebView, context: Context) {
        let req = URLRequest(url: url)
        uiView.load(req)
    }
}
 
struct WebView_Previews: PreviewProvider {
    static var previews: some View {
        WebView(url: URL(string: "https://apple.com")!)
    }
}