Swift95

List95

A selectable list with classic rows, separators, icons, and scroll treatment.

List95 supports unselected, single-selection, multiple-selection, and sectioned data without replacing your model identity.

Compact List95 with Item 2 and Item 4 selected
The compact multi-selection list rendered by the snippet below.

Use it

import Swift95
import SwiftUI

private struct ListItem: Identifiable {
  let id: Int
  let title: String
}

struct List95Example: View {
  private let items = (1...12)
    .map {
      ListItem(id: $0, title: "Item \($0)")
    }
  @State private var selection: Set<Int> = [2, 4]

  var body: some View {
    List95(items, selection: $selection, style: .compact) { item in
      Row95 { Text95(item.title) }
    }
    .frame(width: 380, height: 212)
  }
}

Essential behavior

IdentityRows use each Identifiable element’s stable ID.
SelectionOptional single and Set bindings support selection.
StyleChoose largeIcon or compact row metrics and opt into separators.

Related

Open the complete List95 API reference →