自 iOS 14 起在 swiftui 中使用导航栏项时如何修复列表奇怪的填充?

Fli*_*orp 5 navigationview swiftui navigationbaritems ios14

从 iOS 14 开始,我有一个奇怪的行为,我在添加 navigationBarItems 后立即在 NavigationView 中的列表周围填充...

我的代码:

import SwiftUI

struct TestList: View {
  var body: some View {
    NavigationView{
      List {
        Text("hello world")
        Text("hello world")
        Text("hello world")
      }
      .navigationBarTitle(Text("Test List"), displayMode:.inline)
      .navigationBarItems(leading:
                            Image(systemName: "bell")
      )
    }
  }
}

struct TestList_Previews: PreviewProvider {
  static var previews: some View {
    TestList()
  }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

谢谢

Fli*_*orp 11

好,我知道了...

我需要在列表中添加一个 ListStyle :

https://developer.apple.com/documentation/swiftui/liststyle

import SwiftUI

struct TestList: View {
  var body: some View {
    NavigationView{
      List {
        Text("hello world")
        Text("hello world")
        Text("hello world")
      }
      .listStyle(PlainListStyle())
      .navigationBarTitle(Text("Test List"), displayMode:.inline)
      .navigationBarItems(leading:
                            Image(systemName: "bell")
      )
    }
  }
}

struct TestList_Previews: PreviewProvider {
  static var previews: some View {
    TestList()
  }
}
Run Code Online (Sandbox Code Playgroud)