UIimagePickerController using we grab photo from photo library or take a picture using camera.
At first we need to add some protocol for UIImagePickerController like UIImagePickerControllerDelegate and UINavigationControllerDelegate on our ViewController.
Looks like
class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate {
}
Image Picker Setup for photo library and camera
//MARK: Action
@IBAction func imagePickFromPhotoLib(_ sender: UIButton) {
let imagePickerController = UIImagePickerController()
// imagePickerController.allowsEditing = true
imagePickerController.delegate = self
imagePickerController.sourceType = .photoLibrary
present(imagePickerController, animated: true, completion: nil)
}
@IBAction func imagePickFromCamera(_ sender: UIButton) {
let imagePickerController = UIImagePickerController()
imagePickerController.sourceType = .camera
imagePickerController.allowsEditing = true
imagePickerController.cameraDevice = .front
imagePickerController.cameraFlashMode = .auto
imagePickerController.delegate = self
present(imagePickerController, animated: true, completion: nil)
}
Then we need to implement delegate
//MARK: UIImagePickerDelegate
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.dismiss(animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
// picker selected image use on what ever we need
picker.dismiss(animated: true, completion: nil)
}
Info.plist file add those key
Privacy - Camera Usage Description
Privacy - Photo Library Usage Description
Here demo project on git.
At first we need to add some protocol for UIImagePickerController like UIImagePickerControllerDelegate and UINavigationControllerDelegate on our ViewController.
Looks like
class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate {
}
Image Picker Setup for photo library and camera
//MARK: Action
@IBAction func imagePickFromPhotoLib(_ sender: UIButton) {
let imagePickerController = UIImagePickerController()
// imagePickerController.allowsEditing = true
imagePickerController.delegate = self
imagePickerController.sourceType = .photoLibrary
present(imagePickerController, animated: true, completion: nil)
}
@IBAction func imagePickFromCamera(_ sender: UIButton) {
let imagePickerController = UIImagePickerController()
imagePickerController.sourceType = .camera
imagePickerController.allowsEditing = true
imagePickerController.cameraDevice = .front
imagePickerController.cameraFlashMode = .auto
imagePickerController.delegate = self
present(imagePickerController, animated: true, completion: nil)
}
Then we need to implement delegate
//MARK: UIImagePickerDelegate
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.dismiss(animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
// picker selected image use on what ever we need
picker.dismiss(animated: true, completion: nil)
}
Info.plist file add those key
Privacy - Camera Usage Description
Privacy - Photo Library Usage Description
Here demo project on git.
No comments:
Post a Comment