2013-10-11 3 views
0

Вот мой посаженные до:тьфу, уволив UIViewControllers и imagePickerController

Nav контроллер: ViewcontrollerA -> ViewControllerB

ViewcontrollerB отображает imagePickerController, установив себя в качестве делегата

Если пользователь нажимает ОТМЕНА из UIImagePicker, я должен был полностью закрыть ViewControllerB, возвращая пользователя обратно в ViewControllerA.

В:

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 

я назвал:

[self dismissViewControllerAnimated:YES completion:nil]; 

и

[[self parentViewController] dismissViewControllerAnimated:YES completion:nil]; 

и

[[[self parentViewController] parentViewController] dismissViewControllerAnimated:YES completion:nil]; 

Не повезло, ViewControllerB все еще висит вокруг.

Как полностью отказаться от программного программирования от себя?

ответ

2

Является ли ViewControllerA представлением ViewControllerB или является ViewControllerB, толкаемым через ваш контроллер навигации? Похоже, его толкают. В этом случае я хотел бы попробовать

[[self navigationController] popViewControllerAnimated:YES]; 

Изменить для ясности: Вы хотите, чтобы отклонить выбора изображений, как вы уже есть. Вы хотите использовать popViewControllerAnimated, чтобы избавиться от ViewControllerB.

+0

Отлично, поп отлично работал. Благодарю. – nibeck

0

Контроллер представления зрения несет ответственность за отклонение представленного им вида . Если вы вызовете этот метод на представленном представлении сам контроллер , он автоматически пересылает сообщение в контроллер представления представления .

[self.presentingViewController dismissViewControllerAnimated:YES completion:nil]; 
Смежные вопросы