为什么导航后表单中的SwiftUI选择器会重新定位?

问题描述 投票:1回答:1

单击选择器后,它将导航到选择视图。项目列表的渲染距离顶部太远,但是在动画结束后会迅速对齐。为什么会这样?

演示: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)。

ios forms swiftui picker
1个回答
0
投票

当强制将导航视图样式堆叠时,可以解决明显的错误行为:

NavigationView {
    …
}.navigationViewStyle(StackNavigationViewStyle())

这是我的问题的解决方案,但我不会将其标记为可接受的答案(尚未)。

  1. 这似乎是一个错误,即使它可能是由特殊情况触发的。
  2. 如果您需要其他导航视图样式,我的解决方案将无法使用。
© www.soinside.com 2019 - 2024. All rights reserved.