Need help with SwiftUI-WebView?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

kylehickinson
151 Stars 22 Forks The Unlicense 9 Commits 1 Opened issues

Description

A SwiftUI component to use WKWebView

Services available

!
?

Need anything else?

Contributors list

# 148,418
Swift
C
chromiu...
Windows
9 commits

WebView

A SwiftUI component

View
that contains a
WKWebView

Since

WKWebView
handles a lot of its own state, navigation stack, etc, it's almost easier to treat it as a mutable data model. You can set it up prior to how you need it, and then simply use its data within your SwiftUI View's.

Simply spin up a

WebViewStore
(optionally with your own
WKWebView
) and use that to access the
WKWebView
itself as if it was a data model.

Example usage:

import SwiftUI
import WebView

struct ContentView: View { @StateObject var webViewStore = WebViewStore()

var body: some View { NavigationView { WebView(webView: webViewStore.webView) .navigationBarTitle(Text(verbatim: webViewStore.title ?? ""), displayMode: .inline) .navigationBarItems(trailing: HStack { Button(action: goBack) { Image(systemName: "chevron.left") .imageScale(.large) .aspectRatio(contentMode: .fit) .frame(width: 32, height: 32) }.disabled(!webViewStore.canGoBack) Button(action: goForward) { Image(systemName: "chevron.right") .imageScale(.large) .aspectRatio(contentMode: .fit) .frame(width: 32, height: 32) }.disabled(!webViewStore.canGoForward) }) }.onAppear { self.webViewStore.webView.load(URLRequest(url: URL(string: "https://apple.com")!)) } }

func goBack() { webViewStore.webView.goBack() }

func goForward() { webViewStore.webView.goForward() } }

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.