---
title: UIViewControllerPreviewingDelegate
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uiviewcontrollerpreviewingdelegate
---

# UIViewControllerPreviewingDelegate

A set of methods used by the delegate to respond, with a preview view controller and a commit view controller, to the user pressing a view object on the screen of a device that supports 3D Touch.

## Declaration

```swift
@MainActor protocol UIViewControllerPreviewingDelegate : NSObjectProtocol
```

## Overview

Overview To learn about 3D Touch, read Adopting 3D Touch on iPhone. note: The end-user terminology for the views presented during the phases of force-based touches includes peek and pop. For clarity here, and to align with the API names, this document uses the corresponding terms preview and commit view.

## Topics

### Providing preview and commit views for 3D Touch

- [previewingContext(_:viewControllerForLocation:)](uikit/uiviewcontrollerpreviewingdelegate/previewingcontext(_:viewcontrollerforlocation:).md)
- [previewingContext(_:commit:)](uikit/uiviewcontrollerpreviewingdelegate/previewingcontext(_:commit:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Deprecated protocols

- [UIActionSheetDelegate](uikit/uiactionsheetdelegate.md)
- [UIAlertViewDelegate](uikit/uialertviewdelegate.md)
- [UIPopoverControllerDelegate](uikit/uipopovercontrollerdelegate.md)
- [UISearchDisplayDelegate](uikit/uisearchdisplaydelegate.md)
- [UIViewControllerPreviewing](uikit/uiviewcontrollerpreviewing.md)
