UIHostingConfiguration
A content configuration suitable for hosting a hierarchy of SwiftUI views.
Declaration
struct UIHostingConfiguration<Content, Background> where Content : View, Background : ViewOverview
Use a value of this type, which conforms to the UIContentConfiguration protocol, with a UICollectionViewCell or UITableViewCell to host a hierarchy of SwiftUI views in a collection or table view, respectively. For example, the following shows a stack with an image and text inside the cell:
myCell.contentConfiguration = UIHostingConfiguration {
HStack {
Image(systemName: "star").foregroundStyle(.purple)
Text("Favorites")
Spacer()
}
}You can also customize the background of the containing cell. The following example draws a blue background:
myCell.contentConfiguration = UIHostingConfiguration {
HStack {
Image(systemName: "star").foregroundStyle(.purple)
Text("Favorites")
Spacer()
}
}
.background {
Color.blue
}When used in a list layout, certain APIs are bridged automatically, like swipe actions and separator alignment. The following example shows a trailing yellow star swipe action:
cell.contentConfiguration = UIHostingConfiguration {
HStack {
Image(systemName: "airplane")
Text("Flight 123")
Spacer()
}
.swipeActions {
Button { ... } label: {
Label("Favorite", systemImage: "star")
}
.tint(.yellow)
}
}