System View Controllers

Use the built-in UIKit view controllers to pick images, edit videos, share content, print files, and much more.


Image Picker

class UIImagePickerController

An object that manages customizable, system-supplied user interfaces for taking pictures and movies on supported devices, and for choosing saved images and movies for use in your app.

Video Editor

class UIVideoEditorController

A video editor that manages the system-supplied user interface for trimming video frames from the start and end of a previously recorded movie as well as reencoding to lower quality.

protocol UIVideoEditorControllerDelegate

A set of methods that your delegate object must implement to respond to the video editor.

Document Browser

Adding a Document Browser to Your App

Give users access to their local or remote documents from within your app.

class UIDocumentBrowserViewController

A view controller for browsing and performing actions on documents stored locally and in the cloud.

class UIDocumentBrowserAction

A custom action that you can create and add to a document browser's Edit Menu or navigation bar.

class UIDocumentBrowserTransitionController

An object that implements the standard loading and transition animations for a document browser.

class UIDocumentPickerViewController

A view controller that provides access to documents or destinations outside your app’s sandbox.

enum UIDocumentBrowserError.Code

The error codes for errors raised by the document browser.

let UIDocumentBrowserErrorDomain: String

The error domain for errors raised by the document browser.


Document Previewing

class UIDocumentInteractionController

A view controller that previews, opens, or prints files whose file format cannot be handled directly by your app.

iCloud Sharing

class UICloudSharingController

A view controller that presents standard screens for adding and removing people from a CloudKit share record.

Shared Activities

class UIActivityViewController

A view controller that you can use to offer various services from your app.

class UIActivity

An abstract class that you subclass to implement app-specific services.

protocol UIActivityItemSource

A set of methods used by an activity view controller to retrieve the data items to act on.

class UIActivityItemProvider

A proxy for data passed to an activity view controller.

Printer Picker

class UIPrinterPickerController

The system interface for selecting a printer.

protocol UIPrinterPickerControllerDelegate

A set of methods for managing the presentation and dismissal of a printer picker interface.

Word Lookup

class UIReferenceLibraryViewController

A dictionary service to look up the definition of a word or term from within an app.

See Also

User Interface

Views and Controls

Present your content onscreen and define the interactions allowed with that content.

View Management

Manage your interface using view controllers and facilitate navigation around different screens of content.

Drag and Drop

Bring drag and drop to your app by using interaction APIs with your views.


Make your app more accessible to users with disabilities.

Animation and Haptics

Provide feedback to users using view-based animations and haptics.

Windows and Screens

Provide a container for your view hierarchies and other content.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software