---
title: UIControl.State
framework: uikit
role: symbol
role_heading: Structure
path: uikit/uicontrol/state-swift.struct
---

# UIControl.State

Constants describing the state of a control.

## Declaration

```swift
struct State
```

## Overview

Overview A control can have more than one state at a time. Controls can have different configurations according to their state. For example, a UIButton object can display one image when it’s in its normal state and a different image when it’s highlighted.

## Topics

### Constants

- [normal](uikit/uicontrol/state-swift.struct/normal.md)
- [highlighted](uikit/uicontrol/state-swift.struct/highlighted.md)
- [disabled](uikit/uicontrol/state-swift.struct/disabled.md)
- [selected](uikit/uicontrol/state-swift.struct/selected.md)
- [focused](uikit/uicontrol/state-swift.struct/focused.md)
- [application](uikit/uicontrol/state-swift.struct/application.md)
- [reserved](uikit/uicontrol/state-swift.struct/reserved.md)

### Initializers

- [init(rawValue:)](uikit/uicontrol/state-swift.struct/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [ExpressibleByArrayLiteral](swift/expressiblebyarrayliteral.md)
- [OptionSet](swift/optionset.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SetAlgebra](swift/setalgebra.md)

## See Also

### Managing state

- [state](uikit/uicontrol/state-swift.property.md)
- [isEnabled](uikit/uicontrol/isenabled.md)
- [isSelected](uikit/uicontrol/isselected.md)
- [isHighlighted](uikit/uicontrol/ishighlighted.md)
