【发布时间】:2021-06-02 20:34:11
【问题描述】:
我正在创建一个应用程序并在 Swift/SwiftUI 中使用 NavigationLink,但它不再工作了。我现在不知道什么时候了,但是两三个星期前,一切都很好。 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 中有 navigationLink。我通过在 NavigationView 中添加进行了测试,它可以正常工作,否则它就像你提到的那样被禁用。
-
如果我添加一个 NavigationView 它正在工作,你是对的。但是从什么时候开始我必须添加这个?在我的其他代码示例中,没有 NavigationView,但它仍在工作
-
RechtView的父视图是什么样的?如果它包含NavigationView,那么RechtView在NavigationView内,您的链接将有效。如果您追溯视图层次结构,我相信您会在某处找到NavigationView,这将是不同的。
标签: ios swift swiftui swiftui-navigationlink