如何使用 SwiftUI 中的按钮在屏幕之间导航

时间:2021-05-06 14:55:04

标签: swiftui swiftui-navigationview

code

您好,我想使用按钮而不是使用 NavigationLink 在窗口之间导航。它看起来很丑。 这是我的代码

import SwiftUI

struct ContentView: View {

    var body: some View {
        Button(action: action()){
            Text("Hola")
                .font(.largeTitle)
                .frame(width: 100, height: 100)
            .background(Color.red)
        }

    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用空的 NavigationLink 并将您的导航标志或目的地绑定到您的 Button

struct FirstView: View {
    
    @State var navigationFlag = false
    
    var body: some View {
        NavigationView {
            VStack {
                Text("First View")
                
                Button(action: {
                    self.navigationFlag = true
                }, label: {
                    Text("navigate")
                })
                
                NavigationLink(destination: SecondView(),
                               isActive: self.$navigationFlag,
                               label: {
                                EmptyView()
                               })
            }
        }
    }
    
}

struct SecondView: View {
    
    var body: some View {
        Text("Second View")
    }
    
}