Swift   发布时间:2022-04-29  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了swift3 – swift拍照并保存到照片库大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在寻找,但无法找到答案.我有一个按钮“拍照”,当按下时,它打开相机,你拍照,当你选择“使用照片”,我希望它保存到照片库.
我可以做除了保存到图书馆以外的所有人,有人可以帮忙吗?

这是我打开相机的代码

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文件作为源代码类型,然后在里面添加权限 –

swift3 – swift拍照并保存到照片库

之后

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,请注明来意。