popViewController не удаляет элементы UINavigationBar - PullRequest
0 голосов
/ 03 марта 2011

У меня странная проблема. Я нашел некоторые советы здесь и в интернете, но я ничего не решил. Итак, вот что происходит:

У меня есть TabBar Navigation с 9 пунктами. Все они являются UINavigationItems. На одном из них я заменяю стандартный viewController на другой при определенных условиях.

Для этого я использую popViewController и pushViewController. Это работает отлично, но у меня есть проблема, что UINavigationBar не синхронизируется с этим. Это приводит к тому, что я вижу правильное представление, но когда я нажимаю кнопку «назад», она переключается на пустой элемент панели навигации, и оттуда я возвращаюсь к rootViewController (например, «more»).

Вот мой код:


- (void)viewWillAppear:(BOOL)animated { 
  if ([[myAppDelegate bcUser] userLoggedIn]) {
    // user is logged in
    MyDataLoggedInViewController *loggedInViewController = [[[MyDataLoggedInViewController alloc] initWithNibName:@"MyDataLoggedInView" bundle:nil] autorelease];
    UINavigationController *navController = self.navigationController;
    [[self retain] autorelease];

    [navController popViewControllerAnimated:YES];
    [navController pushViewController:loggedInViewController animated:YES];
  } 
}

Я надеюсь, что кто-то может помочь. Я перепробовал все что нашел и ничего не помогло. : - /

Спасибо и наилучшие пожелания, Томас

1 Ответ

0 голосов
/ 04 марта 2011

Попробуйте установить:

[navController popViewControllerAnimated:NO];
[navController pushViewController:loggedInViewController animated:NO];

потому что вы, скорее всего, ожидаете завершения анимации.

...