获取 SwiftUI 按钮来执行转场

问题描述 投票:0回答:1

我有一个使用图像和文本构造的按钮,但是我在让它转到新视图时遇到问题:

import SwiftUI

struct CalculatorView: View {
    var body: some View {
        NavigationStack {
            ZStack {
                VStack(spacing: 20) {
                                            
                        // Cattle
                        Button {
                           NavigationLink(destination: NewView()) {
                           }
                        }
                        
                    label: {
                        ZStack {
                            Image("Button-Normal")
                                .resizable()
                                .frame(width: 200, height: 50)
                            Text("Move")
                                .font(.title)
                                .foregroundColor(.black)
                        }
                    }

我在导航堆栈中包含了该按钮,并包含了链接,但是当我单击该按钮时,它什么也不做。

button swiftui view segue
1个回答
0
投票

尝试将此方法与

NavigationPath
NavigationStack(path: ...)
一起使用。 参见 导航堆栈

示例代码:

struct ContentView: View {
    @State var path = NavigationPath()
    
    var body: some View {
        ZStack {
            NavigationStack(path: $path){
                Button("To destination") {
                    path.append("destination")
                }
                .navigationDestination(for: String.self) { _ in
                    DestinationView()
                }
            }
        }
    }
}

struct DestinationView: View {
    var body: some View {
        Text("DestinationView")
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.