Swift 访问相机并保存 和 访问相册
1。在Info.plist添加以下字段:
<key>NSPhotoLibraryUsageDescription</key>
<string>访问相册</string>
<key>NSCameraUsageDescription</key>
<string>访问相机</string>
2.添加代理:
UIImagePickerControllerDelegate,UINavigationControllerDelegate(用于回调)
3.变量申明:
var pick : UIImagePickerController!
@IBOutlet weak var imageView: UIImageView!
4.访问相册
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary){
pick = UIImagePickerController()
pick.delegate = self
pick.sourceType = .photoLibrary
self.present(pick, animated: true, completion: nil)
}
5.访问相机
if UIImagePickerController.isSourceTypeAvailable(.camera){
pick = UIImagePickerController()
pick.delegate = self
pick.sourceType = .camera
self.present(pick, animated: true, completion: nil)
}
6.实现代理的方法,完成的回调
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
self.imageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage
//保存到相册
UIImageWriteToSavedPhotosAlbum(self.imageView.image!, self, nil, nil)
self.dismiss(animated: true, completion: nil)
}