---
title: UICellConfigurationState
framework: uikit
role: symbol
role_heading: Structure
path: uikit/uicellconfigurationstate-swift.struct
---

# UICellConfigurationState

A structure that encapsulates a cell’s state.

## Declaration

```swift
struct UICellConfigurationState
```

## Overview

Overview A cell configuration state encompasses a trait collection along with all of the common states that affect a cell’s appearance — view states like selected, focused, or disabled, and cell states like editing or swiped. A cell configuration state encapsulates the inputs that configure a cell for any possible state or combination of states. You use a cell configuration state with background and content configurations to obtain the default appearance for a specific state. Typically, you don’t create a configuration state yourself. To obtain a configuration state, override the updateConfiguration(using:) method in your cell subclass and use the state parameter. Outside of this method, you can get a cell’s configuration state by using its configurationState property. You can create your own custom states to add to a cell configuration state by defining a custom state key using UIConfigurationStateCustomKey.

## Topics

### Managing view configuration states

- [isSelected](uikit/uicellconfigurationstate-swift.struct/isselected.md)
- [isHighlighted](uikit/uicellconfigurationstate-swift.struct/ishighlighted.md)
- [isFocused](uikit/uicellconfigurationstate-swift.struct/isfocused.md)
- [isDisabled](uikit/uicellconfigurationstate-swift.struct/isdisabled.md)
- [isPinned](uikit/uicellconfigurationstate-swift.struct/ispinned.md)

### Managing cell configuration states

- [isEditing](uikit/uicellconfigurationstate-swift.struct/isediting.md)
- [isSwiped](uikit/uicellconfigurationstate-swift.struct/isswiped.md)
- [isExpanded](uikit/uicellconfigurationstate-swift.struct/isexpanded.md)
- [isReordering](uikit/uicellconfigurationstate-swift.struct/isreordering.md)
- [cellDragState](uikit/uicellconfigurationstate-swift.struct/celldragstate.md)
- [cellDropState](uikit/uicellconfigurationstate-swift.struct/celldropstate.md)
- [UICellConfigurationState.DragState](uikit/uicellconfigurationstate-swift.struct/dragstate.md)
- [UICellConfigurationState.DropState](uikit/uicellconfigurationstate-swift.struct/dropstate.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomReflectable](swift/customreflectable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [UIConfigurationState](uikit/uiconfigurationstate-8d7pd.md)

## See Also

### Configuration states

- [UIViewConfigurationState](uikit/uiviewconfigurationstate-swift.struct.md)
- [UIConfigurationState](uikit/uiconfigurationstate-8d7pd.md)
- [UIConfigurationStateCustomKey](uikit/uiconfigurationstatecustomkey.md)
