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) // 退出相机界面 }