UIImagePickerController is a view controller responsible for allowing the developer to access the user's photo library, camera roll, saved photos, and the camera itself. It helps to detect if a camera is present and if the camera supports video capture or still capture only. Additionally, the controller allows basic cropping features before sending an image out of the controller. It's primary use is to get photos and insert them into a UIImageView.
Images are picked by the user and stored to a NSDictionary object, where the developer can retrieve it. If allowEditing: is enabled, then the developer can pick which image to take from the NSDictionary.
Presentation of the controllerOn an iPhone or iPod touch, the UIImagePickerController should be set up to present from a modal view controller, and it's delegate should be itself. You need to present the material on a modal view controller, so
[picker presentModalViewControllerAnimated:YES];would present it. On an iPad, the UIImagePickerController MUST be presented in a UIPopoverController. The best way to do this is to do
[[UIPopoverController alloc] initWithContentViewController: imagePicker]where UIImagePickerController is defined as imagePicker.
Do not forget to include the didCancel method, and make sure you tell it to dismiss the controller after finishing or picking an image.
- Official documentation: UIImagePickerController
- Header: http://github.com/kennytm/iphone-private-frameworks/blob/master/UIKit/UIImagePickerController2.h