是否有与 WKInterfaceController 的 .becomeCurrentPage 方法等效的 SwiftUI?

Is there a SwiftUI equivalent to WKInterfaceController's .becomeCurrentPage method?

以前在 WatchKit 中我们可以告诉某个 InterfaceController 使用 .becomeCurrentPage 来呈现自己,我们如何在 Swift UI 中做到这一点?

例如在 WatchKit 中我会:

  // handle notification
    @objc func respondToWaterlock(_ notification: NSNotification) {
        self.becomeCurrentPage()
    }

becomeCurrentPage method in SwiftUI. You can update your State 或 ViewModel 没有等效项来实现类似的结果。 例如:

enum Pages {
    case home
    case settings
}

struct MyView: View {
    
    @State var selectedPage: Pages = .home
    
    var body: some View {
        Group {
            if self.selectedPage == .home {
                Text("Home")
            } else if self.selectedPage == .settings {
                Text("Settings")
            }
        }
    }
    
}

您应该只更新 selectedPage 状态变量来更改页面。