popViewController不会删除UINavigationBar项

时间:2011-03-03 18:31:17

标签: iphone ios uinavigationcontroller uinavigationbar popviewcontroller

我有一个奇怪的问题。我在这里和互联网上找到了一些tipps,但我没有解决我的问题。所以这是发生的事情:

我有一个包含9个项目的TabBar导航。所有这些都是UINavigationItems。在其中一个上,我在一定条件下用另一个替换默认的viewController。

为此,我使用popViewController和pushViewController。这很好用,但我有问题,UINavigationBar与它不同步。这就是我看到了正确的视图,但是当我点击“后退”按钮时它会转移到一个空的导航栏项目,然后我回到rootViewController(例如“更多”)。

这是我的代码:


- (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 :(得分:0)

尝试设置:

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

因为您最有可能等待动画完成。