<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIPrinterPickerController/present(animated:completionHandler:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIPrinterPickerController(im)presentAnimated:completionHandler:"
  },
  "title" : "present(animated:completionHandler:)"
}
-->

# present(animated:completionHandler:)

Presents the picker from a view controller of your app.

```
func present(animated: Bool, completionHandler completion: UIPrinterPickerController.CompletionHandler? = nil) -> Bool
```

## Parameters

`animated`

<doc://com.apple.documentation/documentation/Swift/true> to animate the display of the picker or <doc://com.apple.documentation/documentation/Swift/false> to display it without animations.

`completion`

A block to execute when the picker is dismissed. Use this block to receive information about the selected printer or information about any errors that occurred.

## Return Value

<doc://com.apple.documentation/documentation/Swift/true> if the picker was displayed or <doc://com.apple.documentation/documentation/Swift/false> if the picker was already visible.

## Discussion

This method presents the picker from one of your app’s view controllers and returns immediately. If you provide a delegate object and that object implements the [`printerPickerControllerParentViewController(_:)`](/documentation/UIKit/UIPrinterPickerControllerDelegate/printerPickerControllerParentViewController(_:)) method, UIKit uses the view controller you provide to present the picker. If you do not provide a delegate, or your delegate object does not implement the [`printerPickerControllerParentViewController(_:)`](/documentation/UIKit/UIPrinterPickerControllerDelegate/printerPickerControllerParentViewController(_:)) method, UIKit presents the picker from the root view controller of your app’s main window.

After presenting the picker, the picker interface runs until the user or your app dismisses it. The picker interface provides ways for the user to cancel printing directly, all of which dismiss the picker. You can also dismiss the printer picker programmatically by calling the [`dismiss(animated:)`](/documentation/UIKit/UIPrinterPickerController/dismiss(animated:)) method.

---

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)