#import "ViewController.h"
#define KimageStr @"imageStr"
@interface ViewController ()<UIImagePickerControllerDelegate,UINavigationControllerDelegate>
@property (nonatomic,strong)UIImageView *imageView;
- (IBAction)press:(UIButton *)sender;
@end
@implementation ViewController
-(UIImageView *)imageView{
if (!_imageView) {
_imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
}
return _imageView;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSData * imageData = [NSData dataWithContentsOfFile:[NSHomeDirectory() stringByAppendingPathComponent:[[NSUserDefaults standardUserDefaults]objectForKey:KimageStr]]];
self.imageView.image = [UIImage imageWithData:imageData];
[self.view addSubview:self.imageView];
}
-(IBAction)press:(UIButton *)sender{
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:imagePicker animated:YES completion:nil];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[picker dismissViewControllerAnimated:YES completion:nil];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *GetImage = info [UIImagePickerControllerOriginalImage];
if([self saveImageToDisk:GetImage]){
self.imageView.image = GetImage;
}
[picker dismissViewControllerAnimated:YES completion:nil];
}
-(BOOL)saveImageToDisk:(UIImage*)image{
NSData *imgData = UIImageJPEGRepresentation(image, 0.5);
NSString *name = [[NSUUID UUID] UUIDString];//唯一标志符
NSString *path = [NSString stringWithFormat:@"Documents/%@.jpg", name];
//把psth存储起来重新运行根据path读取保存在沙盒的图片
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:path forKey:KimageStr];
[userDefaults synchronize];
NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:path];
if ([UIImageJPEGRepresentation(self.imageView.image, 0.5) isEqualToData:imgData]) {
return nil;
}else{
if ([imgData writeToFile:jpgPath atomically:YES]) {
} else {
[[[UIAlertView alloc] initWithTitle:@"Error"
message:@"There was an error saving your photo. Try again."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles: nil] show];
return NO;
}
}
return YES;
}
@end
获取相册图片并存入沙盒中并读取
最新推荐文章于 2021-06-20 06:43:37 发布