<!--
{
  "documentType" : "article",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/configurations",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Configurations"
}
-->

# Configurations

Specify the appearance and content of your views and cells using configurations.

## Discussion

Configurations provide a lightweight way to apply content and styling to views without having to manage the rendering of the appearance yourself.

Using a configuration, you can obtain system default styling for a variety of different view states and customize that styling as needed. Then, you assign that configuration to a view that supports configurations, like [`UICollectionViewCell`](/documentation/UIKit/UICollectionViewCell), or use it to create a custom content view, like [`UIListContentView`](/documentation/UIKit/UIListContentView). The configuration updates itself when the view’s configuration state changes, causing the view to reflect the new styling for that state.

There are two types of configurations:

- Background configurations, which let you specify the background appearance for a view. For more information, see `UIBackgroundConfiguration`.
- Content configurations, which let you specify content (like image and text) and styling for that content (like tint color and padding). For list-based content, [`UIListContentConfiguration`](/documentation/UIKit/UIListContentConfiguration-swift.struct) defines many customization options.

## Topics

### Configuration states

[`UIViewConfigurationState`](/documentation/UIKit/UIViewConfigurationState-swift.struct)

A structure that encapsulates a view’s state.

[`UICellConfigurationState`](/documentation/UIKit/UICellConfigurationState-swift.struct)

A structure that encapsulates a cell’s state.

[`UIViewConfigurationState`](/documentation/UIKit/UIViewConfigurationState-c.class)

A structure that encapsulates a view’s state.

[`UICellConfigurationState`](/documentation/UIKit/UICellConfigurationState-c.class)

An object that encapsulates a cell’s state.

[`UIConfigurationState`](/documentation/UIKit/UIConfigurationState-1smq1)

The requirements for an object that encapsulates a view’s state.

[`UIConfigurationState`](/documentation/UIKit/UIConfigurationState-8d7pd)

The requirements for an object that encapsulates a view’s state.

[`UIConfigurationStateCustomKey`](/documentation/UIKit/UIConfigurationStateCustomKey)

A key that defines a custom state for a view.

### Content configurations

[`UIListContentConfiguration`](/documentation/UIKit/UIListContentConfiguration-swift.struct)

A content configuration for a list-based content view.

[`UIListContentConfiguration`](/documentation/UIKit/UIListContentConfiguration-c.class)

A content configuration for a list-based content view.

[`UIListContentView`](/documentation/UIKit/UIListContentView)

A content view for displaying list-based content.

[`UIContentConfiguration`](/documentation/UIKit/UIContentConfiguration-9eib5)

The requirements for an object that provides the configuration for a content view.

[`UIContentView`](/documentation/UIKit/UIContentView-5fh3z)

The requirements for a content view that you create using a configuration.

[`UIContentConfiguration`](/documentation/UIKit/UIContentConfiguration-2raci)

The requirements for an object that provides the configuration for a content view.

[`UIContentView`](/documentation/UIKit/UIContentView-3zu2k)

The requirements for a content view that you create using a configuration.

### Unavailable content configurations

[`UIContentUnavailableConfiguration`](/documentation/UIKit/UIContentUnavailableConfiguration-swift.struct)

A content configuration for a content-unavailable view.

[`UIContentUnavailableConfigurationState`](/documentation/UIKit/UIContentUnavailableConfigurationState-swift.struct)

A structure that encapsulates state for a content-unavailable view.

[`UIContentUnavailableConfiguration`](/documentation/UIKit/UIContentUnavailableConfiguration-c.class)

A content configuration for a content-unavailable view.

[`UIContentUnavailableConfigurationState`](/documentation/UIKit/UIContentUnavailableConfigurationState-c.class)

An object that encapsulates state for a content-unavailable view.

[`UIContentUnavailableButtonProperties`](/documentation/UIKit/UIContentUnavailableButtonProperties)

Properties configuring the appearance and behavior of a button in a content-unavailable view.

[`UIContentUnavailableImageProperties`](/documentation/UIKit/UIContentUnavailableImageProperties)

Properties configuring the appearance of images in a content-unavailable view.

[`UIContentUnavailableTextProperties`](/documentation/UIKit/UIContentUnavailableTextProperties)

Properties configuring the appearance of text in a content-unavailable view.

[`UIContentUnavailableAlignment`](/documentation/UIKit/UIContentUnavailableAlignment)

Defines the alignment of views in a content-unavailable view.

### Background configurations

[`UIBackgroundConfiguration`](/documentation/UIKit/UIBackgroundConfiguration-swift.struct)

A configuration that describes a specific background appearance.

[`UIBackgroundConfiguration`](/documentation/UIKit/UIBackgroundConfiguration-c.class)

A configuration that describes a specific background appearance.

### Color transformers

[`UIConfigurationColorTransformer`](/documentation/UIKit/UIConfigurationColorTransformer-swift.struct)

A transformer that generates a modified output color from an input color.

[`UIConfigurationColorTransformer`](/documentation/UIKit/UIConfigurationColorTransformer-c.typealias)

Generates a modified output color from an input color.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)