2016-05-16 2 views

ответ

0

Контроллер навигации используется для управления стоп-файлами контроллеров. Вы можете «нажимать» контроллеры на стек по одному (это то, что вы делали бы почти все время), или вы можете «установить» стек, содержащий несколько контроллеров за один раз. Read the manual.

1

Первое, что не будет SetViewController, но это setViewControllers, потому что это наборы array of view controller.

Вы можете установить только вид контроллер navigation controller или tabbar controller как мудрый вы можете pushviewcontroller только в navigation controller не tabbar controller

Теперь давайте понять концепцию navigation stack:

Например у вас есть одна навигация controoler говорит, что nav.

У этого объекта нет объектов (контроллеры просмотра).

Теперь, например, у вас есть массив три viewcontrollers как A,B & C' and you set that array to you навигация controller` что-то подобное,

[self.navigationController setViewControllers:viewControllerArr]; 

Затем навигационная стопка уподобиться

A -> B -> C (top of stack)

Теперь вы нажимаете один контроллер представления в такой же навигационный стек, скажем, D что-то вроде,

[self.navigationController pushViewController:D animated:YES]; 

Затем навигационная стек, как стать,

A -> B -> C -> D (top of stack)

Теперь, если вы поп один вид контроллер что-то вроде,

[self.navigationController popViewControllerAnimated:YES]; 

Тогда поп-вершина стека, а затем ваш стек выглядит что-то вроде ,

`A -> B -> C (top of stack)` 

Снова поп-а затем

`A -> B (top of stack)` 

Таким образом, в основном основное отличие между контроллером set и push view заключается в том, что когда вы устанавливаете viewcontrollers, вы устанавливаете массив, это означает множественный массив. Итак, можно сказать, что setViewController - это инициализация навигационного контроллера с начальным контроллером (инициализация стека навации)

где push или pop добавляет или удаляет контроллер просмотра в стек навигации или из него.

Надеюсь, это поможет :)

Смежные вопросы