How to create grouped and inset grouped lists
About 2 min
How to create grouped and inset grouped lists êŽë š
SwiftUI by Example
Back to Home
How to create grouped and inset grouped lists | SwiftUI by Example
How to create grouped and inset grouped lists
Updated for Xcode 15
Updated for iOS 15
SwiftUI's List
views have a listStyle()
modifier to control how the list looks, and there are two options you're likely to want: .grouped
(or GroupedListStyle()
for Xcode 12) to get the old-style grouping of items, and .insetGrouped
(or InsetGroupedListStyle()
for Xcode 12) to get the newer style grouping of items.
For example, this defines an example row and places it inside a grouped list:
struct ExampleRow: View {
var body: some View {
Text("Example Row")
}
}
struct ContentView: View {
var body: some View {
List {
Section(header: Text("Examples")) {
ExampleRow()
ExampleRow()
ExampleRow()
}
}
.listStyle(.grouped)
}
}
Alternatively, this will create a list of 100 rows with the new inset style of grouping:
List(0..<100) { i in
Text("Row \(i)")
}
.listStyle(.insetGrouped)
Important
If you're using Xcode 12 you need to use GroupedListStyle
and InsetGroupedListStyle()
rather than .grouped
and insetGrouped
.
Similar solutionsâŠ
SwiftUI tips and tricks | SwiftUI by Example
SwiftUI tips and tricks
All SwiftUI property wrappers explained and compared | SwiftUI by Example
All SwiftUI property wrappers explained and compared
How to create multi-column lists using Table | SwiftUI by Example
How to create multi-column lists using Table
How to inset the safe area with custom content | SwiftUI by Example
How to inset the safe area with custom content
Building a menu using List | SwiftUI by Example
Building a menu using List