如何使 SwiftUI 列表可扩展和可折叠,就像在 Apple 的提醒应用程序中一样?

How to make a SwiftUI list expandable and collapsible like in Apple's Reminders app?

提问人:L. Mees 提问时间:11/3/2023 最后编辑:L. Mees 更新时间:11/3/2023 访问量:47

问:

问题

我想在 SwiftUI 中制作一个包含可折叠/可展开部分 (?) 的列表,例如在 Apple 的 Reminders 应用程序的主屏幕或“联系人”或“邮件”应用程序中。在那里,提醒列表按帐户分类(例如iCloud,Outlook,Gmail)。可以使用右侧的 V 形按钮折叠或展开类别。

有谁知道如何制作这样一个可折叠的列表?

我试过什么

我试图将列表分成不同的部分并添加修饰符和 ,但这不起作用。.listStyle(.sidebar).listStyle(SidebarListStyle())

我还试图将列表划分为部分和小节(只是在内部),但这也没有用。sectionsection

有谁知道如何使列表/部分可折叠?或者谁能告诉我为什么修饰符不起作用? 我觉得苹果的布局应该很容易复制,因为它在很多应用程序中都被重用了。.listStyle(.sidebar)

谢谢:)

编辑:这是我正在使用的代码:

struct ContentView: View {
    
    var body: some View {
        List {
            Section {
                Text("Tasks")
                Text("Tasks - school")
                Text("Reminders")
            } header: {
                Text("iCloud")
                    .font(.title2)
                    .fontWeight(.heavy)
                    .foregroundStyle(.white)
                    .textCase(nil)
            }
            
            Section {
                Text("School")
                Text("Tasks")
            } header: {
                Text("Outlook")
                    .font(.title2)
                    .fontWeight(.heavy)
                    .foregroundStyle(.white)
                    .textCase(nil)
            }
        }
        .listStyle(.sidebar)
    }
}

这是我得到的布局:

I get a list with sections that are Not collapsible.

这是我想要的布局:

I want the sections to be collapsible.

列出 SwiftUI 可扩展

评论

0赞 Stoic 11/3/2023
您是否正在寻找自定义实现,或者使用 ?List
0赞 L. Mees 11/3/2023
我正在寻找一种方法来做到这一点List
2赞 lorem ipsum 11/3/2023
DisclosureGroup 有时部分
0赞 Sweeper 11/3/2023
“但这没有用”怎么没有用?请展示代码的最小可重现示例、您获得的结果以及您想要的结果。

答: 暂无答案