0

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

我有一个包含 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];
  } 
}

我希望有人能帮帮忙。我尝试了我发现的一切,但没有任何帮助。:-/

谢谢和最良好的祝愿,托马斯

4

1 回答 1

0

尝试设置:

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

因为您很可能正在等待动画完成。

于 2011-03-04T01:07:50.413 回答