ContentView.swift
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | // // ContentView.swift // swiftuidev15ios // // Created by Cairocoders // import SwiftUI import WebKit struct ContentView: View { @State private var showWebView = false 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() } } |