< How to set the background color of list rows using listRowBackground() | How to create expanding lists > |
Updated for Xcode 14.0 beta 1
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)
}
}
Download this as an Xcode project
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)
Download this as an Xcode project
Important: If you’re using Xcode 12 you need to use GroupedListStyle
and InsetGroupedListStyle()
rather than .grouped
and insetGrouped
.
SPONSORED You know StoreKit, but you don’t want to do StoreKit. RevenueCat makes it easy to deploy, manage, and analyze in-app subscriptions on iOS and Android so you can focus on building your app.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.