---
title: UIPrintInteractionControllerDelegate
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uiprintinteractioncontrollerdelegate
---

# UIPrintInteractionControllerDelegate

An optional set of methods that the delegate of the shared print-interaction controller implements.

## Declaration

```swift
@MainActor protocol UIPrintInteractionControllerDelegate : NSObjectProtocol
```

## Overview

Overview If the application has special requirements for content sizes, it can implement printInteractionController(_:choosePaper:) to return a UIPrintPaper object encapsulating the page size and the printing area to use for a print job. If you want more control of the presentation of the printing options, the delegate can return a view controller that owns the printing-options view in an implementation of printInteractionControllerParentViewController(_:). The delegate can also implement methods that are invoked when the printing user interface is presented and when it is dismissed, and when the print job begins and ends.

## Topics

### Returning a Parent View Controller

- [printInteractionControllerParentViewController(_:)](uikit/uiprintinteractioncontrollerdelegate/printinteractioncontrollerparentviewcontroller(_:).md)

### Choosing a Paper Size for the Print Job

- [printInteractionController(_:choosePaper:)](uikit/uiprintinteractioncontrollerdelegate/printinteractioncontroller(_:choosepaper:).md)
- [printInteractionController(_:cutLengthFor:)](uikit/uiprintinteractioncontrollerdelegate/printinteractioncontroller(_:cutlengthfor:).md)
- [printInteractionController(_:chooseCutterBehavior:)](uikit/uiprintinteractioncontrollerdelegate/printinteractioncontroller(_:choosecutterbehavior:).md)

### Responding to the Presentation and Dismissal of the Printing Interface

- [printInteractionControllerWillPresentPrinterOptions(_:)](uikit/uiprintinteractioncontrollerdelegate/printinteractioncontrollerwillpresentprinteroptions(_:).md)
- [printInteractionControllerDidPresentPrinterOptions(_:)](uikit/uiprintinteractioncontrollerdelegate/printinteractioncontrollerdidpresentprinteroptions(_:).md)
- [printInteractionControllerWillDismissPrinterOptions(_:)](uikit/uiprintinteractioncontrollerdelegate/printinteractioncontrollerwilldismissprinteroptions(_:).md)
- [printInteractionControllerDidDismissPrinterOptions(_:)](uikit/uiprintinteractioncontrollerdelegate/printinteractioncontrollerdiddismissprinteroptions(_:).md)

### Responding to the Start and End of a Print Job

- [printInteractionControllerWillStartJob(_:)](uikit/uiprintinteractioncontrollerdelegate/printinteractioncontrollerwillstartjob(_:).md)
- [printInteractionControllerDidFinishJob(_:)](uikit/uiprintinteractioncontrollerdelegate/printinteractioncontrollerdidfinishjob(_:).md)

### Constants

- [UIPrinter.CutterBehavior](uikit/uiprinter/cutterbehavior.md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Assigning the delegate

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