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

# UIDragAnimating

The interface for providing custom animation alongside the system’s lift, drop, and cancellation animations.

```
@MainActor protocol UIDragAnimating : NSObjectProtocol
```

## Overview

You can use a [`UIDragAnimating`](/documentation/UIKit/UIDragAnimating) object to animate your own changes to the preview displayed during system-provided drag and drop animations.

## Topics

### Adding animations

[`func addAnimations(() -> Void)`](/documentation/UIKit/UIDragAnimating/addAnimations(_:))

Adds an animation block for modifying a view animation while it’s running.

[`func addCompletion((UIViewAnimatingPosition) -> Void)`](/documentation/UIKit/UIDragAnimating/addCompletion(_:))

Adds an animation completion block to run when a view animation has ended.

## Relationships

### Inherited By

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

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

### Inherits From

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

---

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)