大佬教程收集整理的这篇文章主要介绍了swift3 – swift拍照并保存到照片库,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我打开相机的代码:
首先,我们必须在Project的.plist文件中进行权限设置: –
1)相机
<key>NSCameraUsageDescription</key> <String>This app will use camera.</String>
2)图片库
<key>NSPhotoLibraryUsageDescription</key> <String>You can SELEct photos to attach to reports.</String>
3)保存到照片库
<key>NSPhotoLibraryAddUsageDescription</key> <String>Please allow access to save photo in your photo library</String>
我们需要打开.pilst文件作为源代码类型,然后在里面添加权限 –
之后
import UIKit class ViewController: UIViewController,UINavigationControllerDelegate,UIImagePickerControllerDelegate { @IBOutlet weak var imageTake: UIImageView! var imagePicker: UIImagePickerController! override func viewDidLoad() { super.viewDidLoad() } //MARK: - Take image @IBACtion func takePhoto(_ sender: UIButton) { imagePicker = UIImagePickerController() imagePicker.delegate = self imagePicker.sourCEType = .camera present(imagePicker,animated: true,completion: nil) } //MARK: - Saving Image here @IBACtion func save(_ sender: AnyObject) { UIImageWriteToSavedPhotosAlbum(imageTake.image!,self,#SELEctor(image(_:didFinishSavingWithError:contexTinfo:)),nil) } //MARK: - Add image to Library func image(_ image: UIImage,didFinishSavingWithError error: Error?,contexTinfo: UnsafeRawPointer) { if let error = error { // we got BACk an error! let ac = UIAlertController(title: "Save error",message: error.localizedDescription,preferredStyle: .alert) ac.addAction(UIAlertAction(title: "OK",style: .default)) present(ac,animated: truE) } else { let ac = UIAlertController(title: "Saved!",message: "Your altered image has been saved to your photos.",animated: truE) } } //MARK: - Done image capture here func imagePickerController(_ picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [String : Any]) { imagePicker.dismiss(animated: true,completion: nil) imageTake.image = info[UIImagePickerControllerOriginalImage] as? UIImage } }
class ViewController: UIViewController,UINavigationControllerDelegate { @IBOutlet weak var imageTake: UIImageView! var imagePicker: UIImagePickerController! enum Imagesource { case photoLibrary case camera } override func viewDidLoad() { super.viewDidLoad() } //MARK: - Take image @IBACtion func takePhoto(_ sender: UIButton) { guard UIImagePickerController.issourceTypeAvailable(.camera) else { SELEctimageFrom(.photoLibrary) return } SELEctimageFrom(.camera) } func SELEctimageFrom(_ source: ImagesourcE){ imagePicker = UIImagePickerController() imagePicker.delegate = self switch source { case .camera: imagePicker.sourCEType = .camera case .photoLibrary: imagePicker.sourCEType = .photoLibrary } present(imagePicker,completion: nil) } //MARK: - Saving Image here @IBACtion func save(_ sender: AnyObject) { guard let SELEctedImage = imageTake.image else { print("Image not found!") return } UIImageWriteToSavedPhotosAlbum(SELEctedImage,nil) } //MARK: - Add image to Library @objc func image(_ image: UIImage,contexTinfo: UnsafeRawPointer) { if let error = error { // we got BACk an error! showAlertWith(title: "Save error",message: error.localizedDescription) } else { showAlertWith(title: "Saved!",message: "Your image has been saved to your photos.") } } func showAlertWith(title: String,message: String){ let ac = UIAlertController(title: title,message: message,preferredStyle: .alert) ac.addAction(UIAlertAction(title: "OK",style: .default)) present(ac,animated: truE) } } extension ViewController: UIImagePickerControllerDelegate{ func imagePickerController(_ picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]){ imagePicker.dismiss(animated: true,completion: nil) guard let SELEctedImage = info[.originalImage] as? UIImage else { print("Image not found!") return } imageTake.image = SELEctedImage } }
以上是大佬教程为你收集整理的swift3 – swift拍照并保存到照片库全部内容,希望文章能够帮你解决swift3 – swift拍照并保存到照片库所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。