我创建了一个List,但是我想要移除List中内容上方带有空白边距(用红色箭头标记)的部分。当使用GroupedListStyle时,如何移除它?
这是一个在NavigationView
中通过fullscreenCover
显示的VStack
中的List
:
var body: some View {
NavigationView {
VStack {
taskEventPicker
myList
}
.navigationBarTitle("Add Task", displayMode: .inline)
}
}
这里的taskEventPicker
是一个分段式Picker
(用绿色方框标注):
var taskEventPicker: some View {
Picker("Mode", selection: $selection) { /* ... */ }
.pickerStyle(SegmentedPickerStyle())
.padding()
}
\{\{myList\}\}是需要讨论的表格(用黄色框起来):
var myList: some View {
List { /* ... */ }
.listStyle(GroupedListStyle())
}
我尝试过的方法
- 移除列表的头部
- 隐藏导航栏标题
- 将
UITableView.appearance().tableHeaderView
设置为空框架 - 尝试
UITableView.appearance().contentInset.top = -35
- 设置
listRowInsets
(这会影响所有列表行)
注意:我正在寻找适用于GroupedListStyle
的答案。我知道这个问题在PlainListStyle
中不会出现。这个填充问题也会出现在默认的listStyle
中。
感谢您的帮助!
Xcode 版本:12.5
ZStack
。 - Ben Myers.listStyle(PlainListStyle())
可以有效地解决他们列表顶部不需要的空间问题。但请注意,这种方法不能解决发帖者的问题,因为他需要保留GroupedListStyle样式。 - ConfusionTowersList {...}.padding(.top, -20)
没有ZStack
等等... - PAULMAXUICollectionView.appearance().contentInset.top = -35
,因为List
现在是一个UICollectionView
的底层实现。 - Radu Ursache