Вы можете знать, как представить средство выбора изображений:
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[viewController presentModalViewController:picker animated:YES];
С учетом вышеизложенного viewController реализует UIImagePickerControllerDelegate и убедитесь, что вы реализуете эту функцию:
- (void)imagePickerController:(UIImagePickerController *)returnedPicker didFinishPickingMediaWithInfo:(NSDictionary *)info
и
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)returnedPicker
Первый метод вызывается, когда пользователь выбрал фотографию. В этом методе вы получите изображение, используя:
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
Чтобы записать это в файл, вы можете сделать его JPEG или PNG. Если JPEG вы можете сделать это:
[UIImageJPEGRepresentation(image, 1.0) writeToFile:filename atomically:YES];
Вам просто нужно указать имя файла.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDir = [paths objectAtIndex:0];
NSString *filename = [docsDir stringByAppendingPathComponent:@"myFilename.jpg"];
Чтобы вернуть изображение в UIImage, вы делаете это:
NSData *data = [NSData dataWithContentsOfFile:filename;
if(data != nil)
UIImage *image = [UIImage imageWithData:data];