---
title: UIAppearanceContainer
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uiappearancecontainer
---

# UIAppearanceContainer

A protocol that a class must adopt to allow appearance customization using the UIAppearance API.

## Declaration

```swift
@MainActor protocol UIAppearanceContainer : NSObjectProtocol
```

## Overview

Overview To participate in the appearance proxy API, tag appearance property accessor methods in your header with UI_APPEARANCE_SELECTOR. Appearance property accessor methods must be of the form: You may have no axes or as many as you like for any property. The property type may be any standard iOS type: id, NSInteger, NSUInteger, CGFloat, CGPoint, CGSize, CGRect, UIEdgeInsets or UIOffset. Axis parameter values must be either NSInteger or NSUInteger. UIKit throws an exception if other types are used in the axes. For example, UIBarButtonItem defines these methods: setTitlePositionAdjustment(_:for:) backButtonBackgroundImage(for:barMetrics:) setBackButtonBackgroundImage(_:for:barMetrics:)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [UIActionSheet](uikit/uiactionsheet.md)
- [UIActivityIndicatorView](uikit/uiactivityindicatorview.md)
- [UIActivityViewController](uikit/uiactivityviewcontroller.md)
- [UIAlertController](uikit/uialertcontroller.md)
- [UIAlertView](uikit/uialertview.md)
- [UIBackgroundExtensionView](uikit/uibackgroundextensionview.md)
- [UIButton](uikit/uibutton.md)
- [UICalendarView](uikit/uicalendarview.md)
- [UICloudSharingController](uikit/uicloudsharingcontroller.md)
- [UICollectionReusableView](uikit/uicollectionreusableview.md)
- [UICollectionView](uikit/uicollectionview.md)
- [UICollectionViewCell](uikit/uicollectionviewcell.md)
- [UICollectionViewController](uikit/uicollectionviewcontroller.md)
- [UICollectionViewListCell](uikit/uicollectionviewlistcell.md)
- [UIColorPickerViewController](uikit/uicolorpickerviewcontroller.md)
- [UIColorWell](uikit/uicolorwell.md)
- [UIContentUnavailableView](uikit/uicontentunavailableview.md)
- [UIControl](uikit/uicontrol.md)
- [UIDatePicker](uikit/uidatepicker.md)
- [UIDocumentBrowserViewController](uikit/uidocumentbrowserviewcontroller.md)
- [UIDocumentMenuViewController](uikit/uidocumentmenuviewcontroller.md)
- [UIDocumentPickerExtensionViewController](uikit/uidocumentpickerextensionviewcontroller.md)
- [UIDocumentPickerViewController](uikit/uidocumentpickerviewcontroller.md)
- [UIDocumentViewController](uikit/uidocumentviewcontroller.md)
- [UIEventAttributionView](uikit/uieventattributionview.md)
- [UIFontPickerViewController](uikit/uifontpickerviewcontroller.md)
- [UIImagePickerController](uikit/uiimagepickercontroller.md)
- [UIImageView](uikit/uiimageview.md)
- [UIInputView](uikit/uiinputview.md)
- [UIInputViewController](uikit/uiinputviewcontroller.md)
- [UILabel](uikit/uilabel.md)
- [UIListContentView](uikit/uilistcontentview.md)
- [UINavigationBar](uikit/uinavigationbar.md)
- [UINavigationController](uikit/uinavigationcontroller.md)
- [UIPageControl](uikit/uipagecontrol.md)
- [UIPageViewController](uikit/uipageviewcontroller.md)
- [UIPasteControl](uikit/uipastecontrol.md)
- [UIPickerView](uikit/uipickerview.md)
- [UIPopoverBackgroundView](uikit/uipopoverbackgroundview.md)
- [UIPopoverController](uikit/uipopovercontroller.md)
- [UIPopoverPresentationController](uikit/uipopoverpresentationcontroller.md)
- [UIPresentationController](uikit/uipresentationcontroller.md)
- [UIProgressView](uikit/uiprogressview.md)
- [UIReferenceLibraryViewController](uikit/uireferencelibraryviewcontroller.md)
- [UIRefreshControl](uikit/uirefreshcontrol.md)
- [UIScrollView](uikit/uiscrollview.md)
- [UISearchBar](uikit/uisearchbar.md)
- [UISearchContainerViewController](uikit/uisearchcontainerviewcontroller.md)
- [UISearchController](uikit/uisearchcontroller.md)
- [UISearchTextField](uikit/uisearchtextfield.md)
- [UISegmentedControl](uikit/uisegmentedcontrol.md)
- [UISheetPresentationController](uikit/uisheetpresentationcontroller.md)
- [UISlider](uikit/uislider.md)
- [UISplitViewController](uikit/uisplitviewcontroller.md)
- [UIStackView](uikit/uistackview.md)
- [UIStandardTextCursorView](uikit/uistandardtextcursorview.md)
- [UIStepper](uikit/uistepper.md)
- [UISwitch](uikit/uiswitch.md)
- [UITabBar](uikit/uitabbar.md)
- [UITabBarController](uikit/uitabbarcontroller.md)
- [UITableView](uikit/uitableview.md)
- [UITableViewCell](uikit/uitableviewcell.md)
- [UITableViewController](uikit/uitableviewcontroller.md)
- [UITableViewHeaderFooterView](uikit/uitableviewheaderfooterview.md)
- [UITextField](uikit/uitextfield.md)
- [UITextFormattingViewController](uikit/uitextformattingviewcontroller.md)
- [UITextView](uikit/uitextview.md)
- [UIToolbar](uikit/uitoolbar.md)
- [UIVideoEditorController](uikit/uivideoeditorcontroller.md)
- [UIView](uikit/uiview.md)
- [UIViewController](uikit/uiviewcontroller.md)
- [UIVisualEffectView](uikit/uivisualeffectview.md)
- [UIWebView](uikit/uiwebview.md)
- [UIWindow](uikit/uiwindow.md)

## See Also

### Appearance proxies

- [UIAppearance](uikit/uiappearance.md)
