ContentView.swift
//
// ContentView.swift
// swiftuidev15ios
//
// Created by Cairocoders
//
import SwiftUI
import WebKit
struct ContentView: View {
@State private var showWebView = false
private let urlString: String = "https://www.apple.com/"
var body: some View {
VStack(spacing: 10) {
WebView(url: URL(string: urlString)!).frame(height: 650.0)
.cornerRadius(10)
.shadow(color: .black.opacity(0.3), radius: 20.0, x: 5, y: 5)
// link that opens in a new window
Link(destination: URL(string: urlString)!, label: {
Text("Open in new window")
.foregroundColor(.blue)
})
// Present WebView as a Bottom Sheet
Button {
showWebView.toggle()
} label: {
Text("Open in a sheet")
}
.sheet(isPresented: $showWebView) {
WebView(url: URL(string: urlString)!)
}
Spacer()
}.padding()
}
}
struct WebView: UIViewRepresentable {
var url: URL
func makeUIView(context: Context) -> WKWebView {
return WKWebView()
}
func updateUIView(_ webView: WKWebView, context: Context) {
let request = URLRequest(url: url)
webView.load(request)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}