![](/img/trans.png)
[英]SwiftUI NavigationLink Item foregroundColor not working
[英]NavigationLink in SwiftUI not working anymore
我正在創建一個應用程序並在 Swift/SwiftUI 中使用NavigationLink
,但它不再工作了。 我現在從什么時候開始就不知道了,但是 2 或 3 周前,一切正常。 已經在代碼中更長的NavigationLinks
工作正常。 但是今天我用了新的,它們不起作用。 如果它們被禁用或其他東西,它會在模擬器和真實設備上查看。 它們是灰色的,你不能點擊它們,或者如果你點擊它們,什么也不會發生。 有什么解決辦法嗎?
import SwiftUI
struct MedikamenteView: View {
var body: some View {
Form {
NavigationLink(
destination: ASSView(),
label: {
Text("ASS")
})
NavigationLink(
destination: AdrenalinView(),
label: {
Text("Adrenalin")
})
}
}
}
struct MedikamenteView_Previews: PreviewProvider {
static var previews: some View {
MedikamenteView()
}
}
例如,這個工作正常:
import SwiftUI
struct RechtView: View {
var body: some View {
Form {
NavigationLink(
destination: ParagraphenView(),
label: {
Text("Paragraphen")
})
NavigationLink(
destination: AufklaerungEinwilligungView(),
label: {
Text("Die Aufklärung mit nachfolgender Einwilligung")
})
NavigationLink(
destination: NotSanGView(),
label: {
Text("Wichtiges aus dem NotSanG")
})
}
.navigationTitle("Recht")
}
}
struct RechtView_Previews: PreviewProvider {
static var previews: some View {
RechtView()
}
}
您必須在NavigationView{}
中使用NavigationLinks 。 沒有它NavigationLink將無法工作。 嘗試這個:
import SwiftUI
struct MedikamenteView: View {
var body: some View {
NavigationView {
Form {
NavigationLink(
destination: ASSView(),
label: {
Text("ASS")
})
NavigationLink(
destination: AdrenalinView(),
label: {
Text("Adrenalin")
})
}
}
}
}
struct MedikamenteView_Previews: PreviewProvider {
static var previews: some View {
MedikamenteView()
}
}
您的第二個代碼示例可能是從使用NavigationView {}
的先前視圖加載的
我可以從您發現它只能在NavigationView
中工作的評論中看到,現在想知道為什么。 僅重要的是,您的視圖嵌入在其視圖層次結構正上方的NavigationView
中。 例如,此代碼將起作用:
struct FirstView: View {
var body: some View {
NavigationView {
NavigationLink(label: "Go to next view", destination: NextView())
}
}
}
struct NextView: View {
...
雖然這不會:
struct FirstView: View {
@State var modalPresented = false
var body: some View {
NavigationView {
Button("Show fullscreen cover"){
modalPresented = true
}
}
.fullScreenCover(isPresented: $modalPresented, content: SecondView())
}
}
struct SecondView: View {
var body: some View {
NavigationLink(label: "Go to next view", destination: NextView())
// Doesn't work because the view is in a fullScreenCover and therefore not a part of the NavigationView.
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.