Я пытаюсь открыть новое представление (UnprocessedPhotoViewController) сразу после того, как функция делегата для моего UIImagePickerController возвращает «didFinishPickingImage».
К сожалению, похоже, что я могу либо открыть модальное представление UIImagePickerController, либо переключиться на UnprocessedPhotoViewController как модальное, но не оба одновременно.
В приведенном ниже коде нажатие кнопки активирует PicPhoto IBAction. Этот код успешно активирует UIImagePickerController. После того как пользователь выбирает изображение, вызывается функция делегата didFinishPickingImage, которая сохраняет изображение в переменной, пытается закрыть модальный UIImagePickerController и открыть UnprocessedPhotoViewController в новом модальном режиме.
Примечание. Если я закомментирую ImagePicker и запустлю «showPhoto» напрямую, UnprocessedPhotoViewController будет отображаться успешно. Кроме того, если я создаю новую кнопку для запуска любого вида, он работает успешно, но я не могу запустить виды последовательно. Я ожидаю, что после того, как пользователь выберет изображение, будет запущено новое представление, которое позволит пользователю обрабатывать изображение.
Как правильно гарантировать, что модальный режим ImagePicker закрывается, а затем открывается UnprocessedPhotoViewController?
Спасибо !!!
Код:
- (IBAction)pickPhoto:(id)sender{
//TODO: To be replaced with the gallery control launching code
// Load Image Selection Code
self.imgPicker = [[UIImagePickerController alloc] init];
self.imgPicker.delegate = self;
self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:self.imgPicker animated:YES];
}
// Dummy function assumes you either picked (or took a picture =D) of Angie and moves you right to the unprocessed viewing screen.
- (void) showPhoto{
// Start new view controller
[self dismissModalViewControllerAnimated:YES];
UnprocessedPhotoViewController *upViewController = [[UnprocessedPhotoViewController alloc] initWithNibName:@"UnprocessedPhotoViewController" bundle:nil];
upViewController.imageView.image = selectedImage;
upViewController.delegate = self;
upViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:[upViewController animated:YES]];
[upViewController release];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img {
selectedImage = img;
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
[self dismissModalViewControllerAnimated:YES];
[self showPhoto];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
}