<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UICollectionViewDropPlaceholder",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UICollectionViewDropPlaceholder"
  },
  "title" : "UICollectionViewDropPlaceholder"
}
-->

# UICollectionViewDropPlaceholder

A placeholder for an item dropped on a collection view.

```
@MainActor class UICollectionViewDropPlaceholder
```

## Overview

When you want to insert a placeholder cell into your collection view, create a `UICollectionViewDropPlaceholder` object and pass it to the [`drop(_:to:)`](/documentation/UIKit/UICollectionViewDropCoordinator/drop(_:to:)-l5tg) method of your [`UICollectionViewDropCoordinator`](/documentation/UIKit/UICollectionViewDropCoordinator). You use a placeholder cell to display a temporary interface while you load the cell’s contents asynchronously. For example, your placeholder cell might display a progress indicator or a message that the cell content isn’t yet available. The placeholder object contains the reuse identifier of the temporary cell you want to display in your collection view. It can also include a custom preview to use during the drop.

You must register the cells you use with your placeholders in advance. In your storyboard file, add a collection view cell object to your collection view, configure its appearance, set its class to [`UICollectionViewCell`](/documentation/UIKit/UICollectionViewCell) (or an appropriate subclass), and assign a reuse identifier to it. When you create your `UICollectionViewDropPlaceholder` object, pass the cell’s reuse identifier to [`init(insertionIndexPath:reuseIdentifier:)`](/documentation/UIKit/UICollectionViewPlaceholder/init(insertionIndexPath:reuseIdentifier:)). The collection view uses the information in your placeholder object to insert the cell into the collection view.

Set the [`cellUpdateHandler`](/documentation/UIKit/UICollectionViewPlaceholder/cellUpdateHandler) to a block of code that configures the cell as a placeholder for the incoming data.

For more information, see [Supporting Drag and Drop in Collection Views](/documentation/UIKit/supporting-drag-and-drop-in-collection-views).

> Important:
> Placeholder cells are meant to be a temporary part of your collection view. Always replace them with actual cells as soon as possible, or cancel the drop to remove them from the collection view. Use the methods of a ``doc://com.apple.uikit/documentation/UIKit/UICollectionViewDropPlaceholderContext`` object to remove placeholders from your collection view.

## Topics

### Providing a Custom Preview

[`previewParametersProvider`](/documentation/UIKit/UICollectionViewDropPlaceholder/previewParametersProvider)

The object that provides the preview parameters for a drag item.

## Relationships

### Conforms To

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CVarArg`](/documentation/Swift/CVarArg)

[`Equatable`](/documentation/Swift/Equatable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

### Inherits From

[`UICollectionViewPlaceholder`](/documentation/UIKit/UICollectionViewPlaceholder)

---

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)