http://blog.sina.com.cn/s/blog_7d35fa1a0101i5op.html
有时候你的应用需要将应用中的图片保存到用户iPhone或者iTouch的相册中。可以使用UIKit的这个类方法来完成。
1 2 3 4 5 6 | void UIImageWriteToSavedPhoto |
image
要保存到用户设备中的图片
completionTarget
当保存完成后,回调方法所在的对象
completionSelector
当保存完成后,所调用的回调方法。 形式如下:
1 2 3 | - (void) image: (UIImage *) image didFinishSavingWithError |
contextInfo
可选的参数,保存了一个指向context数据的指针,它将传递给回调方法。
比如你可以这样来写一个存贮照片的方法:
1 2 3 4 5 | // 要保存的图片 UIImage *img = [UIImage imageNamed:@"ImageName.png"]; // 保存图片到相册中UIImageWriteToSavedPhoto |
回调方法看起来可能是这样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | - (void)image:(UIImage *)image didFinishSavingWithError |
为什么图片会存不进iOS的相册?
UIImageWriteToSavedPhoto
sAlbum(saved, self,@selector(image:didFinishSavingWithError :contextInfo:), nil); 然后去自己按照 UIImageWriteToSavedPhoto
sAlbum要求 格式写的 - (void)image:(UIImage *)image didFinishSavingWithError
(代码参考这里Image cannot be saved using UIImageWriteToSavedPhoto:(NSError *)error contextInfo:(void *)contextInfo 里看 NSLog(@"%@", error)运行出来是什么。 sAlbum to photo album)
Error Domain=ALAssetsLibraryErrorDoma
Error Domain=ALAssetsLibraryErrorDoma
Error Domain=ALAssetsLibraryErrorDoma
The solution is to copy photos one by one:
解决办法是一张一张拷贝图片:
- create an array of image names, e.g. wallpapers
开一个图片array
- copy one
拷贝一个
- catch complete selector
存完进入到didFinishSavingWithError - goto #2
从第二步继续到存完所有图
- 生成一张图
- 存图UIImageWriteToSavedPhoto
sAlbum - 等待进入didFinishSavingWithError
- 从第一步继续到存完所有图
有时候你的应用需要将应用中的图片保存到用户iPhone或者iTouch的相册中。 可以使用UIKit的这个类方法来完成。
1 2 3 4 5 6 | |
image
要保存到用户设备中的图片
completionTarget
当保存完成后,回调方法所在的对象
completionSelector
当保存完成后,所调用的回调方法。 形式如下:
1 2 3 | |
contextInfo
可选的参数,保存了一个指向context数据的指针,它将传递给回调方法。
比如你可以这样来写一个存贮照片的方法:
1 2 3 4 5 | |
回调方法看起来可能是这样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |