-
Notifications
You must be signed in to change notification settings - Fork 472
Camera Quickstart
This is a quickstart guide for using the taking a photo or picking an image from the camera roll using the stock camera and camera roll. In both cases, we'll modally present the UIImagePickerController
class which has a delegate. The delegate has a method which is called after a user takes/picks a picture.
let vc = UIImagePickerController()
vc.delegate = self
vc.allowsEditing = true
vc.sourceType = UIImagePickerControllerSourceType.camera
self.present(vc, animated: true, completion: nil)
In the class interface, declare that it implements two protocols: UIImagePickerControllerDelegate
and UINavigationControllerDelegate
.
func imagePickerController(picker: UIImagePickerController,
didFinishPickingMediaWithInfo info: [String : AnyObject]) {
// Get the image captured by the UIImagePickerController
let originalImage = info[UIImagePickerControllerOriginalImage] as! UIImage
let editedImage = info[UIImagePickerControllerEditedImage] as! UIImage
// Do something with the images (based on your use case)
// Dismiss UIImagePickerController to go back to your original view controller
dismiss(animated: true, completion: nil)
}
When the user finishes taking the picture, UIImagePickerController
returns a dictionary that contains the image and some other meta data. The full set of keys are listed here.
let vc = UIImagePickerController()
vc.delegate = self
vc.allowsEditing = true
vc.sourceType = UIImagePickerControllerSourceType.photoLibrary
self.present(vc, animated: true, completion: nil)
This is the same as Step 2 above.
Make sure you add UIImagePickerControllerDelegate
and UINavigationControllerDelegate
when defining your class