单击选择器后,它将导航到选择视图。项目列表的渲染距离顶部太远,但是在动画结束后会迅速对齐。为什么会这样?
演示:https://gfycat.com/idioticdizzyazurevase
我已经创建了一个最小的示例来排除导航栏标题和按钮,表单部分以及其他详细信息:
import SwiftUI
struct NewProjectView: View {
@State var name = ""
var body: some View {
NavigationView {
Form {
Picker("Client", selection: $name) {
Text("Client 1")
Text("Client 2")
}
}
}
}
}
struct NewProjectView_Previews: PreviewProvider {
static var previews: some View {
NewProjectView()
}
}
这会在预览模式,模拟器和设备上发生(Xcode 11.2,模拟器中的iOS 13.2,设备上的13.3 beta 1)。
当强制将导航视图样式堆叠时,可以解决明显的错误行为:
NavigationView {
…
}.navigationViewStyle(StackNavigationViewStyle())
这是我的问题的解决方案,但我不会将其标记为可接受的答案(尚未)。