如何在swiftUI中带有按钮的视图之间导航

时间:2021-05-24 15:37:17

标签: swiftui swiftui-navigationlink swiftui-button

你好,我想为我的按钮生成该功能,以便在我按下它时它会进入一个新视图,但我不知道我已经有超过 3 个小时的尝试时间

enter image description here

1 个答案:

答案 0 :(得分:0)

有几个问题:

  1. 如果您想使用 programmatic navigation(使用自定义按钮),您需要一个 @State 来控制 NavigationLink 是否处于活动状态。
  2. NavigationLink 需要位于 NavigationView 内的某个位置。
  3. 您还需要一个 VStack,因为 NavigationView 应该只环绕一个视图。
struct ContentView: View {
    @State var isPresenting = false /// 1.
    
    var body: some View {
        NavigationView { /// 2.
            VStack { /// 3.
                Button("comenzar") {
                    isPresenting = true
                }
                //        .buttonStyle(fillesRundedCornerButtonStyle())
                
                NavigationLink(destination: holaView(), isActive: $isPresenting) { EmptyView() }
            }
        }
    }
}

struct holaView: View {
    var body: some View {
        Text("Hola, como estas?")
    }
}