The interface for handling drops in a collection view.


@protocol UICollectionViewDropDelegate


Implement this protocol in the object that you use to incorporate dropped data into your collection view. The only required method of this protocol is the collectionView:performDropWithCoordinator: method, but you can implement other methods as needed to customize the drop behavior of your collection view.

Assign your custom delegate object to the dropDelegate property of your collection view.


Declaring Support for Handling Drops

- collectionView:canHandleDropSession:

Asks your delegate whether the collection view can accept a drop with the specified type of data.

Incorporating the Dropped Data

- collectionView:performDropWithCoordinator:

Tells your delegate to incorporate the drop data into the collection view.


Tracking the Drag Movements

- collectionView:dropSessionDidUpdate:withDestinationIndexPath:

Tells your delegate that the position of the dragged data over the collection view changed.

- collectionView:dropSessionDidEnter:

Called when dragged content enters the collection view's bounds rectangle.

- collectionView:dropSessionDidExit:

Called when dragged content exits the table view's bounds rectangle.

- collectionView:dropSessionDidEnd:

Called to notify you when the drag operation ends.


Inherits From

See Also

Drag and Drop

Supporting Drag and Drop in Collection Views

Initiate drags and handle drops from a collection view.


The interface for initiating drags from a collection view.


An interface for coordinating your custom drop-related actions with the collection view.


Your proposed solution for handling a drop in a collection view.


The data associated with an item being dropped into the collection view.


An object that contains information about a placeholder in the collection view.


An advanced interface for managing a data source object.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software