swift - 为什么我在切换屏幕时会丢失我的 SwiftUI View

标签 swift swiftui

我有一个基于 SwiftUI 的原生 WatchOS 应用程序。我有 4 个 View ,用户可以向左和向右滑动以到达。此功能不直接是 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()
    }
}

最佳答案

同样的问题。使用 Storyboard 时也会发生。

关于swift - 为什么我在切换屏幕时会丢失我的 SwiftUI View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58442232/

相关文章:

ios - ARKit – Session 的配置检查

swift - UISlider 抛出 NSRangeException

ios - Google 地方信息未加载到 TableView 中

ios - 快速恢复 AVAudioPlayer 中的声音

ios - 如何使用 SwiftUI LazyVGrid 创建交错网格?

list - 得到 "Fatal error: Index out of range": show index in list item for swiftui

ios - 没有这样的模块 FBSDKCoreKit 错误

ios - 如何显示 AirPlay 菜单 SwiftUI

SwiftUI/.onDelete 从嵌套数组中删除列表中的子 OutlineGroup 行

xcode - SwiftUI - 如何知道文本中的行数?