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

# UIDragInteraction

An interaction to enable dragging of items from a view, employing a delegate to provide drag items and to respond to calls from the drag session.

```
@MainActor class UIDragInteraction
```

## Topics

### Initializing the drag interaction

[`init(delegate:)`](/documentation/UIKit/UIDragInteraction/init(delegate:))

Initializes a drag interaction object with a custom delegate object.

### Configuring lift behavior

[`liftBehavior`](/documentation/UIKit/UIDragInteraction/liftBehavior-swift.property)

A value that controls the timing behavior for initiating a drag gesture from a touch.

[`UIDragInteraction.LiftBehavior`](/documentation/UIKit/UIDragInteraction/LiftBehavior-swift.enum)

Constants that determine the lift behavior for a drag interaction.

[`allowsPointerDragBeforeLiftDelay`](/documentation/UIKit/UIDragInteraction/allowsPointerDragBeforeLiftDelay)

A Boolean value that controls whether pointer-initiated drags begin before the lift delay elapses.

### Managing drag interactions

[`allowsSimultaneousRecognitionDuringLift`](/documentation/UIKit/UIDragInteraction/allowsSimultaneousRecognitionDuringLift)

A Boolean value that determines whether the interaction allows recognition of other gestures during the lift activity.

[`delegate`](/documentation/UIKit/UIDragInteraction/delegate)

An object that configures and controls a drag interaction.

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

The interface for configuring and controlling a drag interaction.

### Enabling the interactions

[`isEnabled`](/documentation/UIKit/UIDragInteraction/isEnabled)

A Boolean value that specifies whether the drag interaction responds to touches and is allowed to participate in a drag activity.

[`isEnabledByDefault`](/documentation/UIKit/UIDragInteraction/isEnabledByDefault)

A device-dependent Boolean value that indicates whether a newly-instantiated drag interaction is allowed to participate in a drag activity.



---

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)