在 SwiftUI WebView 中自定义内容(添加页脚和页眉注释)

Customize Content (Add Footer And Header Note) In SwiftUI WebView

我是 Swift 和 SwiftUI 的新手。我想通过 WebKit:WKWebView.

显示 webview

我试着像下面这样实现它:

var webView: WKWebView? {
    didSet {
        guard let webView = webView else { return }
        webView.frame = view.frame
        view.addSubview(webView)
    }
}

您可以从这里找到更多详细信息:https://github.com/sbertix/Swiftagram/issues/48

当我实现它时,它看起来像下面这样:

但我想像下面这样自定义 WebView 的内容:

有没有像上面那样实现的方法?

最简单的就是将这三个视图 (header-webview-footer) 包装在 VStack 中,即如下所示(当然您的页眉页脚可以是任何内容)

注意:WebView 任何您的 WKWebView 包装器(我从 获取用于测试)

struct DemoView: View {
    var body: some View {
        VStack(spacing: 0) {
            HeaderView()
            WebView(url: URL(string: "https://www.whosebug.com"))
            FooterView()
        }
}

struct HeaderView: View {
    var body: some View {
        Text("Header Note")
            .foregroundColor(.yellow)
            .frame(maxWidth: .infinity, minHeight: 60)
            .background(Color.red)
    }
}

struct FooterView: View {
    var body: some View {
        Text("Footer Note")
            .foregroundColor(.yellow)
            .frame(maxWidth: .infinity, minHeight: 100)
            .background(Color.red)
    }
}