UIImageを保存する
画像の保存はUIImageWriteToSavedPhotosAlbumメソッドを使用します。以下、簡単な例です。
例
//保存したい画像
UIImage *_saveImage = [UIImage imageNamed:@"image.png"];
//画像を保存する
-(void)saveImage
{
UIImageWriteToSavedPhotosAlbum(_saveImage, self, @selector(savingImageIsFinished:didFinishSavingWithError:contextInfo:), nil);
}
// 完了を知らせる
- (void) savingImageIsFinished:(UIImage *)_image didFinishSavingWithError:(NSError *)_error contextInfo:(void *)_contextInfo
{
NSLog(@"ここでインジケータでもだそうか!");
if(_error){//エラーのとき
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"エラー"
message:@"画像の保存に失敗しました。"
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:@"OK", nil
];
[alert show];
[alert release];
}else{//保存できたとき
return;
}
}
画像の保存は非同期処理で行われるため、UIImageWriteToSavedPhotosAlbumメソッドを呼び出してすぐには画像は保存されません。
そこで、UIImageWriteToSavedPhotosAlbumの第三引数に保存完了を知らせるメソッドを指定してあげます。
保存完了を知らせるメソッドには、コメントにも書きましたが、インジケーターで「画像の保存中...」みたいなのを出せばいいのかなと思います。
参考記事
画像(UIImage)をカメラロールに保存する - ktyr report画像をライブラリに保存するメソッドUIImageWriteToSavedPhotosAlbumの注意事項 - mthr Blog+
0 件のコメント:
コメントを投稿