UIImagePickerController 是系統提供的用來獲取圖片和視頻的接口。code
下面例子來示範使用相機拍照並顯示出咱們的照片。視頻
先設置ViewController繼承UIImagePickerControllerDelegate, UINavigationControllerDelegate。繼承
而後拖入一個ImageView,一個Button到Main.storyboard。分別綁定:接口
@IBOutlet weak var imageView: UIImageView! @IBAction func useCamera(sender: AnyObject) {}
而後添加下面代碼到useCamera,來使用相機拍照圖片
// 先要判斷相機是否可用 if UIImagePickerController.isSourceTypeAvailable(.Camera) { let picker = UIImagePickerController() picker.delegate = self picker.sourceType = UIImagePickerControllerSourceType.Camera picker.allowsEditing = true // 容許拍攝圖片後編輯 self.presentViewController(picker, animated: true, completion: nil) } else { print("can't find camera") } }
繼承UIImagePickerControllerDelegate,爲咱們實現了拍照後的響應:it
imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?)io
imagePickerControllerDidCancel(picker: UIImagePickerController)im
分別是點擊完成後處理照片,點擊取消。animate
這裏咱們使用後兩個:di
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) { print("didFinishPickingImage") self.imageView.image = image // 保存拍攝(編輯)後的圖片到咱們的imageView展現 UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil) // 將圖片保存到相冊 picker.dismissViewControllerAnimated(true, completion: nil) // 退出相機界面 } func imagePickerControllerDidCancel(picker: UIImagePickerController) { print("imagePickerControllerDidCancel") picker.dismissViewControllerAnimated(true, completion: nil) // 退出相機界面 }