У меня есть 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
это правильный вид, но неправильное название панели инструментов и кнопка.
У кого-нибудь есть идеи? Спасибо за вашу помощь.