为什么我的 NavigationLink 是灰色的,SwiftUI,Mac OS

Why is my NavigationLink grey, SwiftUI, Mac OS

为什么我的 Cell 像那样包装成 NavigationLink 时是灰色的?

NavigationLink(
                destination: Einstellungen_Daten(),
                label: {
                    EinstellungenKachel(titel: "Daten", beschreibung: "In dieser Sektion der Einstellungen kannst du alles rund um deine Daten konfigurieren", bild: Image(systemName: "folder")).buttonStyle(PlainButtonStyle())
                }).buttonStyle(PlainButtonStyle())

这个 Link 看起来像这样:

如果我不将 EinstellungenKachel 包装到 NavigationLink 中,它看起来像这样:

EinstellungenKachel 的代码是这样的:

struct EinstellungenKachel: View {
    
    var titel: String
    var beschreibung: String
    var bild: Image
    
    var body: some View {
        ZStack{
            Color.gray
                .frame(width: 450, height: 450)
                .cornerRadius(45)
            LinearGradient(gradient: Gradient(colors: [Color.red, Color.blue]), startPoint: .leading, endPoint: .trailing)
                .mask(bild.font(.system(size: 350)))
            RoundedRectangle(cornerRadius: 0)
                .foregroundColor(Color.init(red: 0, green: 0, blue: 0, opacity: 0))
                .overlay(textOverlay, alignment: .leading)
                .cornerRadius(45)
        }.frame(width: 450, height: 450)
        .padding()
    }
    
    var textOverlay: some View {
        VStack{
            Text(titel)
                .font(.custom("Impact", size: 50))
                .padding()
            Text(beschreibung)
                .font(.custom("Impact", size: 25))
                .multilineTextAlignment(.center)
                .padding()
        }
    }
}

有人可以帮助我吗? 谢谢,Boothosh。

您缺少NavigationView

考虑这个的例子:

struct ContentView: View {
    var body: some View {
        NavigationLink("NavigationLink", destination: Text("Destination"))
    }
}

在其周围添加 NavigationViewNavigationLink 现在将突出显示以指示它不再被禁用 - 因为它实际上可以被点击以导航到某个目的地:

struct ContentView: View {
    var body: some View {
        NavigationView {
            NavigationLink("NavigationLink", destination: Text("Destination"))
        }
    }
}
Without NavigationView With NavigationView