【问题标题】:How to fix the list strange padding when using navigationbaritems in swiftui since iOS 14? [duplicate]自 iOS 14 起在 swiftui 中使用 navigationbaritems 时如何修复列表奇怪的填充? [复制]
【发布时间】:2020-10-02 17:01:15
【问题描述】:

自 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()
  }
}

我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: swiftui navigationview ios14 navigationbaritems


    【解决方案1】:

    好的,我明白了……

    我需要在列表中添加一个 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()
      }
    }
    

    【讨论】:

    • 这是否记录在任何地方?截至 2020 年 11 月 23 日,Apple Dev 自己的 SwiftUI 教程省略了这一部分,让新手感到困惑
    • 很好的回答人,我在敲我的头
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多