【发布时间】:2020-04-20 01:16:22
【问题描述】:
我在带有拆分视图(横向)的 iPad 上遇到了 NavigationLink 的一些问题。这是一个例子:
这里是重现问题的代码:
import SwiftUI
final class MyEnvironmentObject: ObservableObject {
@Published var isOn: Bool = false
}
struct ContentView: View {
@EnvironmentObject var object: MyEnvironmentObject
var body: some View {
NavigationView {
NavigationLink("Go to FirstDestinationView", destination: FirstDestinationView(isOn: $object.isOn))
}
}
}
struct FirstDestinationView: View {
@Binding var isOn: Bool
var body: some View {
NavigationLink("Go to SecondDestinationView", destination: SecondDestinationView(isOn: $isOn))
}
}
struct SecondDestinationView: View {
@Binding var isOn: Bool
var body: some View {
Toggle(isOn: $isOn) {
Text("Toggle")
}
}
}
// Somewhere in SceneDelegate
ContentView().environmentObject(MyEnvironmentObject())
有人知道解决这个问题的方法吗?一个简单的解决方法是禁用拆分视图,但这对我来说是不可能的。
【问题讨论】:
-
@Asperi 请解释代码中有什么问题。我不明白为什么会这样。切换开关时屏幕不应该弹出,对吧?
-
对不起,我错了,误读了代码 - 看起来像列表缓存问题。
-
@Asperi 刚刚更新了问题,没有使用
List。任何其他想法可能是什么问题?
标签: ios navigationlink swiftui-navigationlink swiftui