删除 iPad 列表中的顶行和底行

Removing top and bottom lines on a list on iPad

我有一个 iPad 的应用程序,它使用导航列表和另一个列表来显示项目。项目列表始终显示顶行和底行,即使那里没有项目也是如此。

我已经尝试了 .listStyle(.plain).listRowSeparator(.hidden) 但没有任何帮助。 任何人都知道如何删除这些行?我在 Apple 的文档或此处找不到任何内容。

谢谢。

代码:

struct ContentView: View {
    @State var selection: Set<Int> = [0]
    
    var body: some View {
        NavigationView {
            List(selection: self.$selection) {
                NavigationLink(destination: ItemsList(wantStarred: 0)) {
                    Label("All Items", systemImage: "chart.bar.doc.horizontal").tag(0)
                }
                NavigationLink(destination: ItemsList(wantStarred: 1)) {
                    Label("Favorites", systemImage: "star.fill")
                }
                
            }
            .listStyle(SidebarListStyle())
            .frame(minWidth: 150, idealWidth: 150, maxHeight: .infinity)

            ItemsList(wantStarred: 0)
        }
    }
    
}


struct ItemsList: View {
    @State var wantStarred: Int
    
    var body: some View {
        List {
           //...
        }
        .listStyle(.plain)
        .listRowSeparator(.hidden)
        .overlay {
            if items.count == 0 {
                Text("Create a new item.").fontWeight(.light)
            }
        }

    }
}

listRowSeparator修饰符应该在里面 list

    List {
       Text("")
          .listRowSeparator(.hidden) // << like here !!
    }
    .listStyle(.plain)

测试 Xcode 13.4 / iOS 15.5