在 SwiftUI WebView 中自定义内容(添加页脚和页眉注释)
Posted
技术标签:
【中文标题】在 SwiftUI WebView 中自定义内容(添加页脚和页眉注释)【英文标题】:Customize Content (Add Footer And Header Note) In SwiftUI WebView 【发布时间】:2020-08-10 07:37:56 【问题描述】:我对 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 的内容,如下所示:
有没有办法像上面那样实现?
【问题讨论】:
【参考方案1】:最简单的就是将这三个视图(header-webview-footer)包裹在VStack
中,即如下所示(当然你的页眉页脚可以是任何)
注意:WebView
任何你的 WKWebView 包装器(我从 https://***.com/a/61059318/12299030 拿来测试)
struct DemoView: View
var body: some View
VStack(spacing: 0)
HeaderView()
WebView(url: URL(string: "https://www.***.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)
【讨论】:
Asperi,感谢您的回答。当您查看我的示例时,webview 不会覆盖/扩展到整个页面。有没有像 LayoutConstraint 这样的实现? 不,屏幕截图显示工作表,只需将 DemoView(当然是您的视图)放在需要的工作表中。 源码为:github.com/sbertix/Swiftagram/tree/main/Examples/FollowersWebview调用者:github.com/sbertix/Swiftagram/blob/main/Examples/Followers/…以上是关于在 SwiftUI WebView 中自定义内容(添加页脚和页眉注释)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SwiftUI WidgetKit 占位符中自定义占位符外观?