swift中添加圖片到相冊中
實例代碼
1.拿到照片后,寫入系統的相冊.
UIImageWriteToSavedPhotosAlbum(image!,self,#selector(image(image:didFinishSavingWithError:contextInfo:)), nil)
2.需要實現系統的didFinishSavingWithError方法
func image(image:UIImage, didFinishSavingWithError error : NSError?, contextInfo : AnyObject) {
if (error != nil) { ? print(error!) ?} ? ??
}
注意點:以下是進入文檔內容,只提供了OC的方法,沒有提供swift中的方法.所以要自己把OC的轉成swift的方法...
// Adds a photo to the saved photos album.? The optional completionSelector should have the form:
//? - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
iOS10之后 記得在info-plist里邊配置Privacy - Photo Library Usage Description
swift中從相冊里邊獲取照片
1.創建UIImagePickerController對象,設置數據源和代理,跳轉到圖片選擇控制器
func imageFormPhotosAlbum(){
? ? ? ? ?let picker = UIImagePickerController()
? ? ? ? //設置代理
? ? ? ? ?picker.delegate = self
? ? ? ? //設置數據源(從相冊或者相機)
? ? ? ?picker.sourceType = .photoLibrary
? ? ? ? self.present(picker, animated: true, completion: nil)
}
2.監聽選擇完照片后返回照片
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
? ? ? ? ? ? 根據UIImagePickerControllerOriginalImage從info里邊取值
? ? ? ? ? ? ?let image = info[UIImagePickerControllerOriginalImage] as! UIImage
? ? ? ? ? ? ?picker .dismiss(animated: true, completion: nil)
}
3.監聽取消選擇后的按鈕
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
? ? ? print("取消了")
? ? ? ?picker.dismiss(animated: true, completion: nil)
}