SwiftUI List 如何去除列表中左右的 padding 空白

参考问题: ​​How to remove the left and right Padding of a List in SwiftUI?​

SwiftUI 在使用 ​​List​​​ 的时候,默认每个 ​​rowItem​​​ 都会有 ​​padding​​​,像这样,左右都会有一块 ​​padding​

SwiftUI List 如何去除列表中左右的 padding 空白_swiftui

可以这样去除:

我这个页面中是包了 ​​NavigationView​​,不要在意

给列表中的每个元素添加 ​​.listRowInsets(EdgeInsets())​​​ 即可
但是,这里有个问题,当以下面这种形式写列表的时候不生效,

List(diaries){ diary in
NavigationLink(destination: DiaryDetail(diary: diary)){
DiaryListItem(diary: diary)
}.listRowInsets(EdgeInsets())
}

需要以下面这种,在 ​​List​​​ 内部 ​​ForEach​​ 才可以

struct DiaryList: View {
var body: some View {
NavigationView{
List{
ForEach(diaries) { diary in
NavigationLink(destination: DiaryDetail(diary: diary)){
DiaryListItem(diary: diary)
}.listRowInsets(EdgeInsets())
}
}
.navigationTitle("Diary List")
}
}
}

最终效果:

SwiftUI List 如何去除列表中左右的 padding 空白_ios_02