Как добавить navigationController в существующую вкладку приложения? - PullRequest
1 голос
/ 12 апреля 2011

У меня есть приложение для iPhone с 2 вкладками.Это мой делегат приложения:

 (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
// Override point for customization after application launch.
// Add the tab bar controller's current view as a subview of the window
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
 }

Моя первая вкладка является подклассом UITableViewController.Я хотел бы выдвинуть новый контроллер представления, когда кто-то нажимает на строку моей таблицы.Я знаю, что это делается в didSelectRowAtIndexPath следующим образом:

TableViewDetailViewController *fvController = [[TableViewDetailViewController alloc] initWithNibName:@"TableViewDetailViewController" bundle:[NSBundle mainBundle]];
    [self.navigationController pushViewController:fvController animated:YES];
    [fvController release];
    fvController = nil;

Мой self.navigationController равен NIL, поэтому в стек представления ничего не помещаетсяГде я должен создать свой navigationController, чтобы было как можно меньше кода для изменения?

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

У нас есть прямое решение с использованием Конструктор интерфейсов .

В Интерфейсный строитель перейдите на xib, в который вы добавили tabBarController, и удалите tabBarItem, с которым вы связали свой tableViewController.

Теперь перетащите UINavigationController из библиотеки в свой tabBar и установите navigationController rootViewController в качестве tableViewController.

Спасибо

0 голосов
/ 12 апреля 2011

Вместо того, чтобы устанавливать TableViewDetailViewController в качестве одной из ваших вкладок ViewControllers, вы должны создать UINavigationController для каждой вкладки на панели вкладок. Затем поместите ваш TableViewDetailViewController внутри соответствующего UINavigationController. self.navigationController будет указывать на действительный UINavigationController в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...