---
title: UIBarButtonItemStateAppearance
framework: uikit
role: symbol
role_heading: Class
path: uikit/uibarbuttonitemstateappearance
---

# UIBarButtonItemStateAppearance

A data object containing the specific customizations for a bar button item in a particular state.

## Declaration

```swift
@MainActor class UIBarButtonItemStateAppearance
```

## Overview

Overview Use a UIBarButtonItemStateAppearance object to customize the title and background image of your bar button items. Don’t create UIBarButtonItemStateAppearance objects yourself. Instead, create a UIBarButtonItemAppearance object and use its properties to fetch the appearance attributes for the button in a particular state. For example, to set the button’s attributes when it’s in the normal state, configure the object in the normal property.

## Topics

### Configuring the title

- [titleTextAttributes](uikit/uibarbuttonitemstateappearance/titletextattributes.md)
- [titlePositionAdjustment](uikit/uibarbuttonitemstateappearance/titlepositionadjustment.md)

### Configuring the background appearance

- [backgroundImage](uikit/uibarbuttonitemstateappearance/backgroundimage.md)
- [backgroundImagePositionAdjustment](uikit/uibarbuttonitemstateappearance/backgroundimagepositionadjustment.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)

## See Also

### Shared appearance

- [UIBarAppearance](uikit/uibarappearance.md)
- [UIBarButtonItemAppearance](uikit/uibarbuttonitemappearance.md)
