如何在SwiftUI Apple Watch App中从一个屏幕导航到另一个屏幕

时间:2019-07-26 15:27:43

标签: navigation apple-watch swiftui

我在SwiftUI Apple Watch应用中进行导航时遇到问题。与此相关的在线资源很少。

我最了解如何创建SwiftUI视图,但是我不确定从SwiftUI视图导航到另一个SwiftUI视图的最佳方法是什么。

有没有办法在用户点击按钮时将用户推送到另一个SwiftUI屏幕?

3 个答案:

答案 0 :(得分:0)

您可以通过使用目标视图初始化NavigationLink来完成此操作。目前其文档很少,但是教程Building Lists and NavigationWWDC session SwiftUI on watchOS可能会有所帮助。

答案 1 :(得分:0)

提供一个非常基本的示例,说明如何在watchOS上工作。

struct ListView: View {
var body: some View {



    List{

        RowView(title: "Row 1")
        RowView(title: "Row 2")
        RowView(title: "Row 3")
        RowView(title: "Row 4")

    }
    .listStyle(.carousel)


    }
}
struct RowView: View {
    let title: String
    var body: some View {

    NavigationLink(destination: Text("Detail \(title)")) {

        Text(title)
            .frame(height: 80, alignment: .topTrailing)
            .listRowBackground(
                Color.blue
                    .cornerRadius(12)
        )
    }
}

}

答案 2 :(得分:0)

只需将List替换为NavigationView,它就像一个吊饰一样

struct ContentView : View{
    var body : some View {
        List{
            VStack{
        NavigationLink(destination: BPView()) {
            Text("Some text")
                .foregroundColor(Color.blue);
        }
            NavigationLink(destination:myView()) {
                Text("Show text here")
                .foregroundColor(Color.blue);
            }
            }}

    }
}