Что происходит с текущим viewController, когда я вызываю presentModalViewController - PullRequest
0 голосов
/ 10 ноября 2011

Я занимаюсь разработкой приложения для iphone и использую

[self presentModalViewController:aViewControllerInitializateBefore animated:YES];

Можете ли вы сказать мне, что происходит с текущим viewController, когда я его использую?

1 Ответ

2 голосов
/ 10 ноября 2011

Текущий контроллер представления остается "под" модальным контроллером представления и появится снова, когда вы звоните

- (void)dismissModalViewControllerAnimated:(BOOL)animated

либо в модальном представлении, либо в контроллере родительского / представительного представления (поскольку представление родительского / представительного контроллера больше не отображается, его представление может быть выгружено, когда системе требуется память, и перезагружено при отклонении).

Из документации этого метода:

Родительский контроллер представления отвечает за отклонение модального Посмотреть контроллер он представил с помощью presentModalViewController: animated: метод. Если вы вызываете этот метод на самом контроле модального вида, однако, модальный вид контроллер автоматически пересылает сообщение в родительское представление контроллер.

Если вы представляете несколько модальных контроллеров подряд, и, таким образом, построить стек модальных контроллеров представления, вызывая этот метод для представления Контроллер ниже в стеке отклоняет свое непосредственное дочернее представление контроллер и все контроллеры представления выше этого потомка в стеке. Когда это происходит, только самый верхний вид отклоняется в анимированном мода; любые промежуточные контроллеры вида просто удаляются из стек. Самый верхний вид отклоняется с помощью его модального перехода стиль, который может отличаться от стилей, используемых другими контроллерами представления ниже в стеке.

Также обратите внимание на изменения в iOS 5

До iOS 5.0, если у представления не было родительского контроллера представления и был представлен модально, контроллер представления, который представлял это будет возвращено. Это больше не так. Вы можете получить представление контроллера представления с использованием presentingViewController свойство.

...