將圖片保存到系統相冊
// 保存圖片到系統相冊裏
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
// image:保存的圖片
// completionTarget:保存完成的監聽者
// completionSelector:保存完成的時候調用監聽者的方法
}
// 保存圖片完成的時候調用,必須調用系統的這個方法,不能夠自定義別的方法
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
if (error) {
[MBProgressHUD showError:@"保存失敗"];
}else{
[MBProgressHUD showSuccess:@"保存成功"];
}
}
從系統相冊選擇圖片
@interface ViewController () <UINavigationControllerDelegate, UIImagePickerControllerDelegate>
...
@end
// 選擇照片
- (IBAction)photo:(UIBarButtonItem *)sender {
// 建立照片選擇控制器
UIImagePickerController *imagePickerVc = [[UIImagePickerController alloc] init];
// 設置數據源
imagePickerVc.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; // 系統相冊
// 設置代理
imagePickerVc.delegate = self;
//modal - 進入相冊界面
[self presentViewController:imagePickerVc animated:YES completion:nil];
}
#pragma mark - <UIImagePickerControllerDelegate>
// 用戶選擇照片的時候調用
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
// 獲取用戶選擇的照片
UIImage *image = info[UIImagePickerControllerOriginalImage];
// modal - 退出相冊界面
[self dismissViewControllerAnimated:YES completion:nil];
_drawView.image = image;
}