Outline Group

A structure that computes views and disclosure groups on demand from an underlying collection of tree-structured, identified data.

Outline Group - iOS Light Mode Preview

Platform Compatibility

iOS 14.0+ iPadOS 14.0+ macOS 11.0+ visionOS 1.0+

Tags

SwiftUI Code

Docs
struct TreeItem: Identifiable {
  let id = UUID()
  let name: String
  let children: [TreeItem]?

  init(_ name: String, children: [TreeItem]? = nil) {
    self.name = name
    self.children = children
  }
}

let data = [
TreeItem("Header", children: [
TreeItem("Foo", children: [
TreeItem("Foo 1"),
TreeItem("Foo 2")
]),
TreeItem("Bar", children: [
TreeItem("Bar 1"),
TreeItem("Bar 2")
])
])
]

var body: some View {
  List {
    OutlineGroup(data, children: \.children) { item in
    Text(item.name)
  }
}
}

Found an issue or have a suggestion?

Created: August 11, 2025Updated: August 11, 2025