Instance Property


An array indicating the media types to be accessed by the media picker controller.


@property(nonatomic, copy) NSArray<NSString *> *mediaTypes;


Depending on the media types you assign to this property, the picker displays a dedicated interface for still images or movies, or a selection control that lets the user choose the picker interface. Before setting this property, check which media types are available by calling the availableMediaTypesForSourceType: class method.

If you set this property to an empty array, or to an array in which none of the media types is available for the current source, the system throws an exception.

When capturing media, the value of this property determines the camera interface to display. When browsing saved media, this property determines the types of media presented in the interface.

By default, this property is set to the single value kUTTypeImage, which designates the still camera interface when capturing media, and specifies that only still images should be displayed in the media picker when browsing saved media. To designate the movie capture interface, or to indicate that only movies should be displayed when browsing saved media, use the kUTTypeMovie identifier in a statement like this:

myImagePickerController.mediaTypes =
    [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil];

To designate all available media types for a source, use a statement like this:

myImagePickerController.mediaTypes =
    [UIImagePickerController availableMediaTypesForSourceType:

See Also

Configuring the Picker


A Boolean value indicating whether the user is allowed to edit a selected still image or movie.


A Boolean value indicating whether the user is allowed to edit a selected image.