Хранение изображения с помощью NSDocumentDirectory не работает? - PullRequest
0 голосов
/ 30 сентября 2011

Я разрабатываю это приложение для iPad. Мой первый экран покажет 2 UIImageView (ImageView, ImageView2) и 2 UIButton (Подтвердить, Обзор).

Я дам краткое описание того, что делает мое приложение. При нажатии кнопки «Обзор» будут показаны фотографии из фотогалереи моего iPad. Когда фотография выбрана, фотогалерея будет закрыта, и в «ImageView» будет показана выбранная фотография. При нажатии кнопки «Подтвердить» изображение будет сохранено в проекте моего приложения с помощью NSDocumentDirectory. После этого он извлечет сохраненную фотографию и отобразит ее в «ImageView2».

Кнопка просмотра ..

- (IBAction) browsePhoto:(id)sender
{
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.delegate = self;
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:imagePickerController];
[popover setPopoverContentSize:CGSizeMake(320,320)];
[popover presentPopoverFromRect:CGRectMake(200,200,-100,-100) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
self.popoverController = popover;
[imagePickerController  release];
}

Отображение выбранного изображения в ImageView ..

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)selectedImage editingInfo:(NSDictionary *)editingInfo 
{
[self.popoverController dismissPopoverAnimated:YES];
imageView.image = selectedImage;
}

Кнопка подтверждения ..

- (IBAction) confirmPhoto:(id)sender
{

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:@"SavedImage.png"];
UIImage *image = imageView.image;
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:savedImagePath atomically:NO];
imageView2.image = [UIImage imageNamed:@"SavedImage.png"];
}

Я могу просматривать фотографии из фотогалереи, выбирать фотографию, и в 'ImageView' отображается выбранная фотография. Но когда я нажимаю на кнопку «Подтвердить», «ImageView2» не отображает фотографию. Я понятия не имею, в чем проблема.

Фотография даже сохранена? Или неправильный способ получения сохраненной фотографии?

Ответы [ 2 ]

1 голос
/ 30 сентября 2011
NSString *filePath=[NSString stringWithFormat:@"%@/%@",documentsDir,@"SavedImage.png"];
imageView2.image=[UIImage imageWithContentsOfFile:filePath];
0 голосов
/ 30 сентября 2011

Попробуйте загрузить изображение с:

[UIImage imageWithContentsOfFile:imageFilePath]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...