【发布时间】:2024-01-20 15:34:01
【问题描述】:
我的代码设置了它从网页获取的导航栏标题,但是每次这都会导致整个 WKWebView 重新加载...页面很重,所以会消耗很多时间。使用按钮设置标题时的行为相同。
struct TransitScreen: View, HandlerDelegate {
var urlRequest: URLRequest
@State var pageTitle = "Title 1"
var body: some View {
VStack {
KSWebView(urlRequest: urlRequest, delegate: self) // WKWebView using UIViewRepresentable
NavigationLink("Go", destination: Text("Some Data"))
Button(action: {
pageTitle = "replaced \(Date().toSeconds())"
}){
Text("Change title")
}
}.navigationBarTitle(Text(pageTitle))
.edgesIgnoringSafeArea(.top)
}
func process(data: String){
pageTitle = data
}
}
有没有办法阻止这种情况发生?或其他方法来更新 navigationBarTitle?
【问题讨论】:
-
你怎么知道 WKWebView 被重新加载了?
-
网页重新加载显示加载动画,在页面加载或刷新时触发
标签: ios swift swiftui wkwebview uiviewrepresentable