我正在尝试制作一个完全自定义的可扩展部分列表,这些部分在 SwiftUI 中包含项目。这就是我希望它最终的样子:
我想我已经正确设置了 SwiftUI 代码,但是我无法找到 View 修饰符来完成我想要的。
这是我的代码,为简洁起见,删除了大多数样式修饰符:
List {
ForEach(sections, id: \.self) { section in
DisclosureGroup(isExpanded: $expand) {
ForEach(section.projectArray, id: \.self) { project in
//--- Projects ---
HStack{
Image("project")
Text(project.wrappedName)
Spacer()
}
.padding(EdgeInsets(top: 0, leading: 0, bottom:0, trailing: 0))
}
} label: {
//--- Sections ---
HStack{
Text(section.wrappedName)
Spacer()
//Custom Toggle Arrow
Button(action: {
//Toggle logic
}){
if expand{
Image("section-open")
}else{
Image("section-closed")
}
}
}
.padding(0)
}
}
}.listStyle(PlainListStyle())
我找不到任何可以改变的东西 DisclosureGroup
添加了一些我不想要的默认样式:A
- 默认展开/折叠箭头B
- 展开时,DisclosureGroup
的 label
水平生长C
- 子元素上的默认填充我查了 the docs并且看不到删除这些默认样式的方法。我有什么想法可以完成这个设计吗?
最佳答案
用
.listRowInsets(EdgeInsets())
关于swiftui - 隐藏 SwiftUI DisclosureGroup 箭头并删除默认填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66113179/