WebView.swift 869 B

1234567891011121314151617181920212223242526272829303132333435
  1. //
  2. // WebView.swift
  3. // LoopKitUI
  4. //
  5. // Created by Rick Pasetto on 4/13/21.
  6. // Copyright © 2021 Tidepool Project. All rights reserved.
  7. //
  8. import SwiftUI
  9. import WebKit
  10. /// Opens a WKWebView on the given `url` in a new page
  11. public struct WebView: UIViewRepresentable {
  12. let url: URL
  13. public init(url: URL) {
  14. self.url = url
  15. }
  16. public func makeUIView(context: UIViewRepresentableContext<WebView>) -> WKWebView {
  17. let webview = WKWebView()
  18. let request = URLRequest(url: self.url, cachePolicy: .returnCacheDataElseLoad)
  19. webview.load(request)
  20. return webview
  21. }
  22. public func updateUIView(_ webview: WKWebView, context: UIViewRepresentableContext<WebView>) {
  23. let request = URLRequest(url: self.url, cachePolicy: .returnCacheDataElseLoad)
  24. webview.load(request)
  25. }
  26. }