【发布时间】:2020-12-26 20:58:01
【问题描述】:
在我的应用程序中,我有一个 Scrollview,其中包含嵌入在 NavigationView 中的 NavigationLinks。在 iPad 上,按下 NavigationLinks 会导致一些奇怪的事情发生。第一次按下其中一个项目时,它工作得非常好,并显示详细视图。对其他项目的任何后续按下要么不执行任何操作,要么显示先前按下项目的详细视图。有时它会连续处理几个项目,但随后会再次冻结。
导航堆栈似乎有问题?
此简化示例显示了运行 iOS 13.7 的 11 英寸 iPad pro 上的错误
struct ContentView: View {
var body: some View {
NavigationView {
ScrollView {
ForEach(0..<20) { index in
NavigationLink(destination: Text("\(index)")) {
Text("\(index)")
.padding()
.frame(width: 100, height: 100)
.background(Color.green)
}
}
}
}
}
}
【问题讨论】:
-
我怀疑您在简化示例代码中犯了错误,在
NavigationLink行,目的地肯定不是Text视图? -
我只是把Text放在那里作为例子。只要 NavigationLink 接收到一个视图(哪个文本是),它就会起作用。使用自定义视图结构可以看到相同的行为。