<!--
{
  "availability" : [
    "iOS: 17.4.0 -",
    "iPadOS: 17.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "BrowserEngineKit",
  "identifier" : "/documentation/BrowserEngineKit/BEDragInteractionDelegate/dragInteraction(_:itemsForAddingTo:forTouchAt:completion:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "BrowserEngineKit"
    ],
    "preciseIdentifier" : "c:objc(pl)BEDragInteractionDelegate(im)dragInteraction:itemsForAddingToSession:forTouchAtPoint:completion:"
  },
  "title" : "dragInteraction(_:itemsForAddingTo:forTouchAt:completion:)"
}
-->

# dragInteraction(_:itemsForAddingTo:forTouchAt:completion:)

Requests items to add to a drag session.

```
optional func dragInteraction(_ dragInteraction: BEDragInteraction, itemsForAddingTo session: any UIDragSession, forTouchAt point: CGPoint, completion: @escaping ([UIDragItem]) -> Bool)
```

## Parameters

`dragInteraction`

The drag interaction that invokes this method.

`session`

An in-progress drag session to which to add items.

`point`

The touch location in the view’s coordinate system.

`completion`

A completion handler that you call to add items to the drag session.

## Discussion

This method is the asynchronous variant of <doc://com.apple.documentation/documentation/UIKit/UIDragInteractionDelegate/dragInteraction(_:itemsForAddingTo:withTouchAt:)>.
If your delegate implements this method, the system calls this method instead of the synchronous version.

Call the completion handler as soon you prepare its arguments. The system times out the completion handler if a long delay occurs before you call the handler.

The completion block returns `true` if the drag session added the items you supplied, and `false` otherwise.

---

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)