进入后台时停止应用程序刷新。 (iOS)

时间:2021-07-30 00:56:55

标签: ios swift swiftui

目前在我的 WKWebView 应用程序中,如果我按下主页按钮然后返回应用程序,它会重新启动我的应用程序。我已经在 updateUiView 中放置了一个打印语句,似乎它一进入后台就刷新它。我认为这是因为所谓的后台应用程序刷新。但在“后台模式”中,后台获取未选中。所以,我想我的问题是,当应用程序切换到后台时,如何阻止它刷新?

其他应用程序没有相同的行为,因此必须是可能的。

仅供参考:我正在使用 SwiftUi 应用程序生命周期。

enter image description here

编辑:

这是我的更新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))  
}

1 个答案:

答案 0 :(得分:1)

makeUIView 被调用来创建视图。 updateUIView 被多次调用以更新视图

因此,您想做一次的任何事情,请在 makeUIView

将代码从 updateUIView 移至 makeUIView 并检查是否按预期工作。