我有一个应用程序,我想使用UIImagePickerController
拍摄照片,然后将所得到的图像粘贴在缩略图视图中。但是,当您退出应用程序时,我想重新显示与用户上次停止时相同的缩略图。我的问题有三个:
在应用生命周期之间实施保存和加载图片的最佳方法是什么?
当用户拍照时,如何更改默认快门声音?
如果用户如此选择,如何将以上所有内容重置为默认设置?
答案 0 :(得分:1)
尝试使用核心数据或NSUserDefault .. 一些链接让你开始: 1。http://www.raywenderlich.com/934/core-data-on-ios-5-tutorial-getting-started 2。http://maniacdev.com/2012/03/tutorial-getting-started-with-core-data-in-ios-5-using-xcode-storyboards/ 3.一些代码:
//Saving:
[[NSUserDefaults standardUserDefaults] setObject:UIImagePNGRepresentation(image)forKey:key];
//Loading:
NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:key];
UIImage* image = [UIImage imageWithData:imageData];
答案 1 :(得分:0)
你可以做什么代理你只需在本地保存你的图像(我通常喜欢sqlite),当你启动你的应用程序时,你只需要执行一个选择查询来检查图像是否存在,如果是,那么只需检查哪一个是最新的(或者你想要拿起的情况)。
希望,它会给你一个工作的想法。
如有任何疑虑,请告知我。 :)
答案 2 :(得分:0)
您可以将图片数据保存到NSUserDefaults
(由其他人提及)或您应用的沙盒,或者您也可以将图片保存到didFinishPickingMediaWithInfo
委托中的设备相机胶卷中,如下所示:
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
//Block Request to save the image to camera roll
[library writeImageToSavedPhotosAlbum:[[info objectForKey:UIImagePickerControllerOriginalImage] CGImage] orientation:(ALAssetOrientation)[[info objectForKey:UIImagePickerControllerOriginalImage] imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){
if (error) {
NSLog(@"Error saving to Albums");
} else {
NSLog(@"Saved Image Url %@", assetURL);
}
}];
[library release];
委托- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
信息字典对象然后拥有密钥UIImagePickerControllerReferenceURL
的图片网址,然后您可以使用ALAssetsLibrary来获取图片。 HTH。