代码之家  ›  专栏  ›  技术社区  ›  mallow

SwiftUI-具有多选功能的列表(不是自定义列表)

  •  0
  • mallow  · 技术社区  · 4 年前

    如何在SwiftUI中使用多选功能制作列表? 我知道我可以做一个这样的定制: https://stackoverflow.com/a/57023746/12315994

    但是SwiftUI中是否已经有了一个默认值?

    以下是苹果邮件应用程序中的多选控件示例:

    Apple Mail app

    当您选择多张照片时,苹果照片中也会使用相同的控件。 这些控件也在苹果官方iOS草图库中,您可以从这里下载: https://developer.apple.com/design/resources/

    苹果的提醒应用程序中有非常类似的控件:

    Apple Reminders app

    1 回复  |  直到 4 年前
        1
  •  2
  •   jnpdx    4 年前

    Set 对于 selection .active 默认情况下,这是可选的。

    struct ContentView: View {
        @State private var selection = Set<String>()
        @State private var isEditMode: EditMode = .active
        
        let items = [
            "Item 1",
            "Item 2",
            "Item 3",
            "Item 4"
        ]
    
        var body: some View {
            NavigationView {
                List(items, id: \.self, selection: $selection) { name in
                    Text(name)
                }
                .toolbar {
                    EditButton()
                }
                .environment(\.editMode, self.$isEditMode)
            }
        }
    }