【发布时间】:2021-02-09 04:52:19
【问题描述】:
我正在尝试在 SwiftUI 中创建一个包含项目的可扩展部分的完全自定义列表。这就是我希望它最终的样子:
我认为我的 SwiftUI 代码设置正确,但我无法找到视图修饰符来完成我想要的。
为简洁起见,这是我删除了大部分样式修饰符的代码:
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,但没有找到删除这些默认样式的方法。有什么想法可以完成这个设计吗?
【问题讨论】:
标签: swiftui