首页 > 解决方案 > UIImageWriteToSavedPhotosAlbum 将照片从相机保存到后期

问题描述

如何获取从相机拍摄的照片的网址?关闭对话框后保存照片。权限:

图像控制器

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage
    UIImageWriteToSavedPhotosAlbum(pickedImage!, self, nil, nil)

    guard let document = getDocument(from: info) else {
        picker.dismiss(animated: true, completion: nil)
        return
    }
    viewModel?.documens.append(document)
    documentsCollectionView.reloadData()
    picker.dismiss(animated: true, completion: nil)
}

private func getDocument(from imageInfo: [String: Any]) -> DocumentRepresentable? {
    guard let selectedImage = imageInfo[UIImagePickerControllerOriginalImage] as? UIImage,
        let imageURL = imageInfo[UIImagePickerControllerReferenceURL] as? URL else {
            return nil
    }
    return Document(path: imageURL.path, data: selectedImage)
}

打开相机功能

  private func showCameraPicker() {
        if UIImagePickerController.isSourceTypeAvailable(.camera){
            let myPickerController = UIImagePickerController()
            myPickerController.sourceType = .camera
            myPickerController.delegate = self

            viewModel?.context?.present(myPickerController, animated: true, completion: nil)
        }
    }

标签: iosswift

解决方案


推荐阅读