SwiftUI List 如何去除列表中左右的 padding 空白
参考问题: How to remove the left and right Padding of a List in SwiftUI?
SwiftUI 在使用 List
的时候,默认每个 rowItem
都会有 padding
,像这样,左右都会有一块 padding
可以这样去除:
我这个页面中是包了
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")
}
}
}