导航视图以一个间隙开始,然后 returns 在滚动时变为正常;缺少标题

Navigation View starts with a gap then returns to normal upon scrolling; missing title

场景: 在导航视图中列出了一个数组。
问题:初始显示在顶部显示一个间隙,在滚动时 returns 到正常的导航栏宽度。
另外,没有显示导航标题。

这是初始视图(注意顶部的空隙):

这是在我向上滚动一点之后(注意 return 到常规导航栏宽度):

完整代码如下:

struct VaccinesDataView: View {
    @State private var isHidden = false
    @EnvironmentObject var settings: UserSettings

    var body: some View {
        VStack {
            if SingletonData.shared.vaccineHeaders != nil {
                NavigationView {
                    List(SingletonData.shared.vaccineHeaders!, id: \.self) { source in
                        NavigationLink(destination: VaccineDetailView()) {
                            VStack(alignment: .leading, spacing: 10.0) {
                                HStack {
                                    Text(source.mechanic).font(.system(size: 16.0))
                                        .foregroundColor(.red)
                                    Spacer()
                                }
                                VStack {
                                    HStack {
                                        // Sponsors:
                                        Text("Sponsors: ").foregroundColor(Color("DarkPen"))
                                        Spacer()
                                    }
                                }
                            }
                        }
                    }.font(.system(size: 14))
                        .foregroundColor(Color("DirtyBrown"))
                        .background(Color("Background"))
                }
            }
        }

        .navigationBarTitleDisplayMode(.inline)
        .navigationBarTitle("Vaccines", displayMode: .inline)
    }

    func doSomething() {}
}

什么导致了最初的差距,补救措施是什么?

您需要在 NavigationView 视图中应用 .navigationBarTitle 修饰符。

NavigationView {
    VStack {
    }.navigationBarTitleDisplayMode(.inline)
    .navigationBarTitle("Vaccines", displayMode: .inline)
}