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")!)
}
}