2014-04-03 7 views
0

Я пытаюсь понять, как контроллер навигации управляет своими «контроллерами контента». Я понимаю, что navigationController может иметь «массив» диспетчеров view, это то, где я бы добавил все контроллеры, которые он гипотетически мог бы управлять? Что делать, если мне нужно добавить больше или удалить их? Должны быть альтернативные способы сделать это правильно?Управление диспетчерами просмотра UINavigationController

Это приводит ко второй части моего вопроса, как я могу переключить контроллер контента, управляемый навигационным контроллером. Я понимаю, что я могу сделать

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

Однако это, вероятно, один из многих методов. Я хотел бы объяснить эти две конкретные отношения между контроллером навигации и его контроллерами контента и контроллером, который в настоящее время виден.

ответ

0

Я понимаю, что navigationController может иметь «массив» из viewcontrollers, это где я хотел бы добавить все контроллеры было бы гипотетически управлять?

Да, вы можете добавить их все там, но обычно они добавляются по одному за раз, когда вы нажимаете (pushViewController: animated: добавляет новый контроллер в конец массива).

What if I need to add more or remove them? 

Массив viewControllers является NSArray, так что вам нужно, чтобы создать изменяемую копию, если вы хотите добавить или удалить контроллеры, а затем использовать setViewControllers: и передать свой изменяемый массив к нему, чтобы создать новый список контроллеров.

how can I switch the content controller managed by the navigation controller? 

Существует несколько способов сделать это. Вы можете использовать один из методов pop, чтобы вернуться назад, вернуться к определенному контроллеру или вернуться к контроллеру корневого представления. Контроллер, который в настоящее время виден, является таковым в свойстве topViewController.

Все эти методы четко изложены в ссылке на класс UINavigationController. Если есть конкретный, который вы не понимаете, спросите об этом.

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