Как реализовать UINavigationController для стандартного UIView - PullRequest
1 голос
/ 03 мая 2010

Это структура моего приложения в настоящее время:

  • UIWindow
    • UIViewController (Root View Controller)
      • UINavigationController
      • UITableView
    • UIViewController (PresentModalViewControllerAnimated: YES)
      • UITableView

Вот как я хочу, чтобы это было:

  • UIWindow
    • UIViewController (Root View Controller)
      • UINavigationController
      • UITableView
    • UIViewController (PresentModalViewControllerAnimated: YES)
      • UITableView

У меня есть представление, которое скользит вверх, и я хочу, чтобы это представление имело собственный UINavigationController. Это для настроек приложения, поэтому я хочу иметь вложенные опции.

Есть идеи, как это сделать?

Типом приложения было приложение Navigation, с которого начинался UINavigationController контроллера Root View.

1 Ответ

1 голос
/ 03 мая 2010

Обратите внимание, что UINavigationController наследуется от UIViewController, поэтому вы можете представить его как модальный контроллер вида. Я создал простое тестовое приложение, и этот подход работал нормально.

Для представления контроллера навигации:

ChildController* controller = [[ChildController alloc] initWithNibName:@"childController" bundle:nil];
UINavigationController* childNav = [[UINavigationController alloc] initWithRootViewController:controller];
[self presentModalViewController:childNav animated:YES];    
[controller release];
[childNav release];

Затем, чтобы исключить модальный контроллер из любого контроллера в его иерархии, используйте

[self.navigationController dismissModalViewControllerAnimated:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...