popToRootViewControllerНеправильная панель инструментов не обновляется - PullRequest
3 голосов
/ 12 ноября 2009

У меня есть UITabBarController, чьи вкладки - UINavigationController. Я инициализировал каждый навигационный контроллер:

 iPhoneApp *appDelegate = (iPhoneApp *)[[UIApplication sharedApplication] delegate];
 [appDelegate.navigationController2 initWithRootViewController:countryController];  

Затем я сверляю навигационный контроллер с помощью:

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

Я хочу получить доступ к корню моих навигационных контроллеров, когда пользователь нажимает на вкладку tabBar.

 [delegate.navigationController2 popToRootViewControllerAnimated:NO];

Кажется, что это прекрасно работает, когда я только нажимаю ViewViewController на один уровень, но происходит сбой, когда я детализирую несколько уровней в моем navigationController. Что происходит, так это то, что он всплывает в root, но не содержит кнопки или заголовка моего Root:

 self.navigationItem.title = @"My title";
 self.navigationItem.hidesBackButton = YES;

 UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                         style:UIBarButtonItemStyleDone
                                                         target:self
                                                     action:@selector(handleBack:)];

Если я не попрошу и просто использую кнопку навигации назад, все работает правильно.

Я зарегистрировал свои viewControllers до и после ввода poptoroot

перед: MainCountryController: 0x3d53650, IndividualCountryMfgViewController: 0x3d67d50, IndividualCountryProductViewController: 0x3d60870

после того, как: MainCountryController: 0x3d53650

это правильный вид, но неправильное название панели инструментов и кнопка.

У кого-нибудь есть идеи? Спасибо за вашу помощь.

1 Ответ

1 голос
/ 18 ноября 2009

Я получил это, отключив мои контроллеры навигации от IB и просто создав их программно.

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