Загрузка UIViewController из стека - PullRequest
0 голосов
/ 26 января 2012

Я новичок в разработке приложений для iPhone.Я очень запутался с понятиями представлений и контроллеров представлений.

У меня такой вопрос:

У меня есть UIViewController.Для целей примера давайте назовем это A .

. Из этого я загружаю другой контроллер представления B , используя presentModalViewController.

На presentModalViewcontroller я нажимаю еще один контроллер вида C .Из этого контроллера вида я хочу загрузить первый упомянутый контроллер вида A .Я читал, что эти виды расположены в стопках.Однако я не уверен, как это сделать.

Как я могу загрузить тот же контроллер вида A в этом случае?

Ответы [ 3 ]

1 голос
/ 26 января 2012

Используйте метод -[UIViewController presentingViewController] для C:

UIViewController *A = C.presentingViewController;

Это вернет контроллер представления, который отправил presentModalViewController:animated:.Если вы хотите предоставить информацию обратно на A, я бы вместо этого пошел на делегирование, но вышеприведенное тоже работает.


Если бы ваш вопрос был о том, как вернуться к A (то есть отклонитьконтроллер модального вида), используйте это:

UIViewController *A = C.presentingViewController;
[A dismissModalViewControllerAnimated:YES];
0 голосов
/ 26 января 2012

Вам нужно использовать UINavigationController, чтобы нажать UIViewControllers

0 голосов
/ 26 января 2012

Я бы сказал, что вам нужно отключить контроллеры представления C и B, чтобы вернуться к A. Если вы представите A поверх B и C, то они могут снова запустить B сверху, и, прежде чем вы это узнаете, у вас будет огромный стек повторяющихся представлений друг над другом.

...