在 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)
}
}
我是 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)
}
}