【问题标题】:Why am I losing my SwiftUI View when switching screens为什么我在切换屏幕时丢失了我的 SwiftUI 视图
【发布时间】:2020-05-03 09:04:38
【问题描述】:

我有一个基于 SwiftUI 的原生 WatchOS 应用。我有 4 个视图,用户可以左右滑动来访问。此功能不是直接的 SwiftUI 功能,因此我使用的是 WKInterfaceController.reloadRootConrollers(withNamesandContext:) 但是屏幕有时会在滑动时加载一个空白屏幕。我看不出这段代码有什么问题……

import WatchKit
import Foundation
import SwiftUI

class HostingController : WKHostingController<MeetingView> {
    override init(){
        super.init()

        displayViews()
    }

    func displayViews() {
        WKInterfaceController.reloadRootControllers(withNamesAndContexts: [
            (name: "OneViewController", context: [:] as AnyObject),
            (name: "TwoViewController", context: [:] as AnyObject),
            (name: "ThreeViewController", context: [:] as AnyObject),
            (name: "FourViewController", context: [:] as AnyObject),
        ])
    }

    override var body: MainView {
        return MainView()
    }
}

【问题讨论】:

    标签: swift swiftui


    【解决方案1】:

    同样的问题。使用情节提要时也会发生。

    【讨论】:

    • 想知道这是否只是 WAtchOS6 中的一个错误?
    • 试图弄清楚在给苹果的错误报告中要说什么。
    • 可能。我也设法在其他应用程序中重现了这个问题。例如 Strava - 快速来回滑动几次,视图最终会消失。
    【解决方案2】:

    似乎是 WatchOS 的一个错误……它不再是问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多