目前在我的 WKWebView 应用程序中,如果我按下主页按钮然后返回应用程序,它会重新启动我的应用程序。我已经在 updateUiView 中放置了一个打印语句,似乎它一进入后台就刷新它。我认为这是因为所谓的后台应用程序刷新。但在“后台模式”中,后台获取未选中。所以,我想我的问题是,当应用程序切换到后台时,如何阻止它刷新?
其他应用程序没有相同的行为,因此必须是可能的。
仅供参考:我正在使用 SwiftUi 应用程序生命周期。
编辑:
这是我的更新UiView:
func updateUIView(_ uiView: WKWebView, context: Context) {
if (uiView.canGoBack) {
uiView.goBack()
}
uiView.navigationDelegate = context.coordinator
....
guard let urlStr = URL("https://www.example.com") else {
return
}
uiView.load(URLRequest(url: urlStr))
}
答案 0 :(得分:1)
makeUIView
被调用来创建视图。
updateUIView
被多次调用以更新视图
因此,您想做一次的任何事情,请在 makeUIView
将代码从 updateUIView
移至 makeUIView
并检查是否按预期工作。