首页 > 解决方案 > 为什么我在切换屏幕时丢失了我的 SwiftUI 视图

问题描述

我有一个基于 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()
    }
}

标签: swiftswiftui

解决方案


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


推荐阅读