---
title: "dragInteraction(_:session:didEndWith:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uidraginteractiondelegate/draginteraction(_:session:didendwith:)"
---

# dragInteraction(_:session:didEndWith:)

Tells the delegate the drag activity and its related animations have finished.

## Declaration

```swift
optional func dragInteraction(_ interaction: UIDragInteraction, session: any UIDragSession, didEndWith operation: UIDropOperation)
```

## Parameters

- `interaction`: The interaction that called this method.
- `session`: The current drag session.
- `operation`: A type that describes the drop operation. If the operation is doc://com.apple.uikit/documentation/UIKit/UIDropOperation/copy or doc://com.apple.uikit/documentation/UIKit/UIDropOperation/move, the data transfer begins.

## Discussion

Discussion Since the session has ended, your app should return to its normal appearance.

## See Also

### Monitoring drag progress

- [dragInteraction(_:sessionWillBegin:)](uikit/uidraginteractiondelegate/draginteraction(_:sessionwillbegin:).md)
- [dragInteraction(_:session:willAdd:for:)](uikit/uidraginteractiondelegate/draginteraction(_:session:willadd:for:).md)
- [dragInteraction(_:sessionDidMove:)](uikit/uidraginteractiondelegate/draginteraction(_:sessiondidmove:).md)
- [dragInteraction(_:session:willEndWith:)](uikit/uidraginteractiondelegate/draginteraction(_:session:willendwith:).md)
- [dragInteraction(_:sessionDidTransferItems:)](uikit/uidraginteractiondelegate/draginteraction(_:sessiondidtransferitems:).md)
