Можно ли добавить приложение UINavigationController
в приложение вида, которое наследуется от UIViewController
, а не UITableViewController
? Как это делается?
Как добавить контроллер навигации в приложение на основе представления?
Ответ 1
Да, вы можете иметь контроллеры навигации в любом приложении на основе представления, будь то на уровне корня (например, при создании шаблона на основе навигации в Xcode) или с помощью корня TabBar или с любым Root.
Один пример, представляющий модальное представление, включая навигацию (используемую в моем приложении для отображения ряда форм):
UIViewController *control = [[MyViewController alloc] initWithNibName: @"MyViewController" bundle: nil];
UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: control];
[self presentModalViewController: navControl animated: YES];
[control release];
В другом примере, если вы хотите иметь его на корневом уровне, но не создали приложение с шаблоном навигации, в AppDelegate didFinishLaunching (...):
UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: control];
[window setRootViewController: navControl];
[navControl release];
Вы также можете установить его в Interface Builder, настроив класс используемого контроллера View (UIViewController заменен на UINavigationController).
Надеюсь, это ответит на ваш вопрос (извините за предыдущее обсуждение).
Ответ 2
Я создал пример кода, чтобы понять, как создать UITabBarController, который создается с помощью Container viewcontroller, включая несколько диспетчеров навигации https://github.com/damienromito/CustomTabBarController