为什么我在切换屏幕时会丢失SwiftUI视图

为什么我在切换屏幕时会丢失SwiftUI视图,swift,swiftui,Swift,Swiftui,我有一个基于SwiftUI的本地WatchOS应用程序。我有4个视图,用户可以左右滑动来访问。此功能不是直接的SwiftUI功能,因此我使用的是WKInterfaceController.reloadRootConrollers(使用名称和上下文:),但有时屏幕在滑动时只加载一个空白屏幕。我看不出这个代码有任何错误 import WatchKit import Foundation import SwiftUI class HostingController : WKHostingContro

我有一个基于SwiftUI的本地WatchOS应用程序。我有4个视图,用户可以左右滑动来访问。此功能不是直接的SwiftUI功能,因此我使用的是WKInterfaceController.reloadRootConrollers(使用名称和上下文:),但有时屏幕在滑动时只加载一个空白屏幕。我看不出这个代码有任何错误

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()
    }
}
导入WatchKit
进口基金会
导入快捷键
类HostingController:WKHostingController{
重写init(){
super.init()
显示视图()
}
func displayViews(){
WKInterfaceController.ReloadRootController(使用名称和上下文:[
(名称:“OneViewController”,上下文:[:]作为任何对象),
(名称:“TwoViewController”,上下文:[:]作为任何对象),
(名称:“ThreeViewController”,上下文:[:]作为任何对象),
(名称:“FourViewController”,上下文:[:]作为任何对象),
])
}
覆盖变量主体:MainView{
返回MainView()
}
}

这里也有同样的问题。在使用故事板时也会发生。

似乎是WatchOS的一个bug。。。这不再是一个问题。

想知道这是否只是WAtchOS6中的一个bug?试图找出在给苹果的bug报告中应该说什么。可能吧。我设法在其他应用程序中重现了这个问题。例如,Strava-快速来回滑动几次,视图最终将消失。