---
title: QLPreviewControllerDelegate
framework: quicklook
role: symbol
role_heading: Protocol
path: quicklook/qlpreviewcontrollerdelegate
---

# QLPreviewControllerDelegate

The protocol that a delegate of a preview controller needs to adopt to handle Quick Look previews.

## Declaration

```swift
protocol QLPreviewControllerDelegate : NSObjectProtocol
```

## Overview

Overview The delegate of a QLPreviewController object needs to adopt this protocol to: Provide a zoom animation for Quick Look previews. Specify whether your app opens a URL that the user taps in a preview. Respond to the opening or closing of a preview. The methods described here are optional, but expected.

## Topics

### Responding to preview requests

- [previewController(_:frameFor:inSourceView:)](quicklook/qlpreviewcontrollerdelegate/previewcontroller(_:framefor:insourceview:).md)
- [previewController(_:transitionImageFor:contentRect:)](quicklook/qlpreviewcontrollerdelegate/previewcontroller(_:transitionimagefor:contentrect:).md)
- [previewController(_:transitionViewFor:)](quicklook/qlpreviewcontrollerdelegate/previewcontroller(_:transitionviewfor:).md)
- [previewControllerWillDismiss(_:)](quicklook/qlpreviewcontrollerdelegate/previewcontrollerwilldismiss(_:).md)
- [previewControllerDidDismiss(_:)](quicklook/qlpreviewcontrollerdelegate/previewcontrollerdiddismiss(_:).md)

### Responding to user actions

- [previewController(_:shouldOpen:for:)](quicklook/qlpreviewcontrollerdelegate/previewcontroller(_:shouldopen:for:).md)

### Editing the content of a preview

- [previewController(_:editingModeFor:)](quicklook/qlpreviewcontrollerdelegate/previewcontroller(_:editingmodefor:).md)
- [QLPreviewItemEditingMode](quicklook/qlpreviewitemeditingmode.md)
- [previewController(_:didUpdateContentsOf:)](quicklook/qlpreviewcontrollerdelegate/previewcontroller(_:didupdatecontentsof:).md)
- [previewController(_:didSaveEditedCopyOf:at:)](quicklook/qlpreviewcontrollerdelegate/previewcontroller(_:didsaveeditedcopyof:at:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Configuring a preview controller

- [dataSource](quicklook/qlpreviewcontroller/datasource.md)
- [QLPreviewControllerDataSource](quicklook/qlpreviewcontrollerdatasource.md)
- [delegate](quicklook/qlpreviewcontroller/delegate.md)
