<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: -",
    "tvOS: 14.0.0 -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UICellAccessory-swift.struct",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "s:5UIKit15UICellAccessoryV"
  },
  "title" : "UICellAccessory"
}
-->

# UICellAccessory

An accessory in a collection view list cell.

```
struct UICellAccessory
```

## Overview

A cell accessory is a visual element that you can add to a list cell ([`UICollectionViewListCell`](/documentation/UIKit/UICollectionViewListCell)). You use a cell accessory as a visual indicator or to let a user perform a cell-specific action like selecting, reordering, or deleting the cell. A cell accessory appears either on the leading or the trailing edge of a cell, outside of the cell’s content view.

UIKit defines a set of standard system cell accessories. System accessories have default system-defined appearances, but you can make some customizations to them, like setting a custom tint color. You can’t customize the placement of system accessories. If you want additional customization, you can create a custom accessory with [`customView(configuration:)`](/documentation/UIKit/UICellAccessory-swift.struct/customView(configuration:)).

You add accessories to a list cell by setting its [`accessories`](/documentation/UIKit/UICollectionViewListCell/accessories-88j0f) array.

```swift
cell.accessories = [ 
    .checkmark(), 
    .disclosureIndicator(options: .init(tintColor: .systemGray)), 
    .delete(),
    .reorder() 
]
```

> Important:
> The system throws an exception if you include more than one instance of any system accessory. You can include multiple custom accessories.

## Topics

### Creating a disclosure indicator

[`disclosureIndicator(displayed:options:)`](/documentation/UIKit/UICellAccessory-swift.struct/disclosureIndicator(displayed:options:))

Creates a disclosure indicator system accessory with the specified display state and configuration options.

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

Configuration options for a disclosure indicator.

### Creating an outline disclosure

[`outlineDisclosure(displayed:options:actionHandler:)`](/documentation/UIKit/UICellAccessory-swift.struct/outlineDisclosure(displayed:options:actionHandler:))

Creates an outline disclosure system accessory with the specified display state, configuration options, and optional action handler.

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

Configuration options for an outline disclosure.

### Creating a popup menu accessory

[`popUpMenu(_:displayed:options:selectedElementDidChangeHandler:)`](/documentation/UIKit/UICellAccessory-swift.struct/popUpMenu(_:displayed:options:selectedElementDidChangeHandler:))

Creates a popup menu system accessory with the specified menu, display state, configuration options, and optional selection handler.

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

A closure type that defines a handler to perform when a user selects an element in the menu.

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

Configuration options for a popup menu accessory.

### Creating a checkmark accessory

[`checkmark(displayed:options:)`](/documentation/UIKit/UICellAccessory-swift.struct/checkmark(displayed:options:))

Creates a checkmark system accessory with the specified display state and configuration options.

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

Configuration options for a checkmark accessory.

### Creating a delete accessory

[`delete(displayed:options:actionHandler:)`](/documentation/UIKit/UICellAccessory-swift.struct/delete(displayed:options:actionHandler:))

Creates a delete system accessory with the specified display state, configuration options, and optional action handler.

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

Configuration options for a delete accessory.

### Creating an insert accessory

[`insert(displayed:options:actionHandler:)`](/documentation/UIKit/UICellAccessory-swift.struct/insert(displayed:options:actionHandler:))

Creates an insert system accessory with the specified display state, configuration options, and optional action handler.

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

Configuration options for an insert accessory.

### Creating a reorder accessory

[`reorder(displayed:options:)`](/documentation/UIKit/UICellAccessory-swift.struct/reorder(displayed:options:))

Creates a reorder system accessory with the specified display state and configuration options.

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

Configuration options for a reorder accessory.

### Creating a multiselect accessory

[`multiselect(displayed:options:)`](/documentation/UIKit/UICellAccessory-swift.struct/multiselect(displayed:options:))

Creates a multiselect system accessory with the specified display state and configuration options.

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

Configuration options for a multiselect accessory.

### Creating a label accessory

[`label(text:displayed:options:)`](/documentation/UIKit/UICellAccessory-swift.struct/label(text:displayed:options:))

Creates a label system accessory with the specified text, display state, and configuration options.

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

Configuration options for a label accessory.

### Creating a detail accessory

[`detail(displayed:options:actionHandler:)`](/documentation/UIKit/UICellAccessory-swift.struct/detail(displayed:options:actionHandler:))

Creates a detail system accessory with the specified display state, configuration options, and optional action handler.

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

Configuration options for a detail accessory.

### Creating a custom accessory

[`customView(configuration:)`](/documentation/UIKit/UICellAccessory-swift.struct/customView(configuration:))

Creates a custom view accessory.

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

Configuration options for a custom accessory.

### Checking the accessory’s type

[`accessoryType`](/documentation/UIKit/UICellAccessory-swift.struct/accessoryType-swift.property)

The type of the cell accessory.

[`UICellAccessory.AccessoryType`](/documentation/UIKit/UICellAccessory-swift.struct/AccessoryType-swift.enum)

Constants that describe the type of the cell accessory.

### Customizing appearance and placement

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

Constants that describe the layout dimension for the accessory.

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

Constants that describe the placement of the accessory within the cell.

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

Constants that describe the cell-editing states that the accessory appears in.

### Performing accessory actions

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

A closure that the system calls when a user taps a cell accessory.



---

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)