问题是导航iPhone应用程序的视图(使用push / pop viewcontroller)

时间:2009-06-12 23:32:03

标签: iphone

以下是该方案。我有4个视图控制器v1,v2,v3,v4,它们显示在iPhone的4个选项卡中(使用UITabbarcontroller)。现在我将另一个视图sv1推送到v1(当我查看v1时,我使用pushviewcontroller,如[appDelegate.nv pushViewController:sv1 animated:YES])。 nv是带有rootviewcontroller的UINavigationController init,v1。

现在,如果我按v2 tabbar(当我正在查看sv1时),然后按v1,我会看到sv1。但是,我不希望这种行为。我想显示v1而不是sv1。如何在单击v2时从其父视图中删除sv1?

我尝试过使用[self.navigationController popToRootViewControllerAnimated:NO];来自sv1的viewWillDisappear方法并且它不起作用(它回到v1但是所有搞砸了,就像未绘制导航栏并且v1的tabbar图标未显示,整个v1视图似乎被破坏了。)

有谁能让我知道如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以先阅读此内容:

Problem popping to root nav controller on tab bar switch

另外...... UITabBarController符合定义的UITabBarDelegate

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item

您可以在那里拨打popToRootViewControllerAnimated,而且看起来您的UINavigationController可以从appDelegate

访问v1