---
title: UIDocumentInteractionControllerDelegate
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uidocumentinteractioncontrollerdelegate
---

# UIDocumentInteractionControllerDelegate

A set of methods you can implement to respond to messages from a document interaction controller.

## Declaration

```swift
protocol UIDocumentInteractionControllerDelegate : NSObjectProtocol
```

## Overview

Overview Use this protocol to participate when document previews are displayed and when a document is about to be opened by another application. You can also use this protocol to respond to commands (such as “copy” and “print”) from a document interaction controller’s options menu. If you use a document interaction controller to display a document preview, your delegate must implement the documentInteractionControllerViewControllerForPreview(_:) method. All other methods of this protocol are optional. For more information about using a document interaction controller, see UIDocumentInteractionController.

## Topics

### Configuring the parent view controller

- [documentInteractionControllerViewControllerForPreview(_:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontrollerviewcontrollerforpreview(_:).md)
- [documentInteractionControllerViewForPreview(_:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontrollerviewforpreview(_:).md)
- [documentInteractionControllerRectForPreview(_:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontrollerrectforpreview(_:).md)

### Presenting the user interface

- [documentInteractionControllerWillBeginPreview(_:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontrollerwillbeginpreview(_:).md)
- [documentInteractionControllerDidEndPreview(_:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontrollerdidendpreview(_:).md)
- [documentInteractionControllerWillPresentOptionsMenu(_:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontrollerwillpresentoptionsmenu(_:).md)
- [documentInteractionControllerDidDismissOptionsMenu(_:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontrollerdiddismissoptionsmenu(_:).md)
- [documentInteractionControllerWillPresentOpenInMenu(_:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontrollerwillpresentopeninmenu(_:).md)
- [documentInteractionControllerDidDismissOpenInMenu(_:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontrollerdiddismissopeninmenu(_:).md)

### Opening files

- [documentInteractionController(_:willBeginSendingToApplication:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontroller(_:willbeginsendingtoapplication:).md)
- [documentInteractionController(_:didEndSendingToApplication:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontroller(_:didendsendingtoapplication:).md)

### Deprecated

- [documentInteractionController(_:canPerformAction:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontroller(_:canperformaction:).md)
- [documentInteractionController(_:performAction:)](uikit/uidocumentinteractioncontrollerdelegate/documentinteractioncontroller(_:performaction:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Handling document-related interactions

- [delegate](uikit/uidocumentinteractioncontroller/delegate.md)
