为什么我的 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"))
}
}
在其周围添加 NavigationView
,NavigationLink
现在将突出显示以指示它不再被禁用 - 因为它实际上可以被点击以导航到某个目的地:
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink("NavigationLink", destination: Text("Destination"))
}
}
}
Without NavigationView
With NavigationView
为什么我的 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"))
}
}
在其周围添加 NavigationView
,NavigationLink
现在将突出显示以指示它不再被禁用 - 因为它实际上可以被点击以导航到某个目的地:
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink("NavigationLink", destination: Text("Destination"))
}
}
}
Without NavigationView |
With NavigationView |
---|---|