2015-10-05 50 views
1

我有一个应用程序,它具有标签栏控制器作为主控制器。每个选项卡都有一系列带有导航控制器的视图,并且我可以正常推送并弹出堆叠中的视图。关闭虚拟显示的视图使标签栏控制器(种)重置

奇怪的问题是

案例1:如果我创建一个UINavigationController,并作出新的viewController作为其根,和现在这个NavigationController。在这个新的导航堆栈中,我可以轻松地以模态方式呈现视图并将其解决而不会出现问题。案例2:现在,没有新建一个UINavigationController,我提出了一个视图,当我关闭一个视图时,视图下面的行为很奇怪。例如,呈现视图是UICollectionView,它只是回滚到第一个单元格,就像它正在执行“重新加载”动作和“滚动到”第一个单元格。如果呈现视图是从rootView推送的视图,它将只是popToRoot视图,这绝对不是意图。

我没有这个问题,直到我实现UITabbarController,所以我猜,我应该知道更多的是在UITabbarController中呈现视图并关闭视图时引发的。

I GUESS,当在UITabbarController视图中关闭视图时,它会将所有内容都“重置”到当前选项卡的第一个视图。我真的不确定这是真的。

我知道这是一种概念性的,但我不禁想到,我必须在这里失去一些重要的东西。

回答

-1

您可以尝试此操作返回到您的第一个视图控制器。

- (IBAction)buttonPressedFromVC2:(UIButton *)sender 
 
{ 
 
    [self dismissViewControllerAnimated:YES completion:nil]; 
 
} // This is going back to VC1.

此方法是将在第二viewcontroller.m文件。这是按钮点击方法。

+0

谢谢你的回答,但这不是关于如何解除视图的问题。关闭视图没有问题,解除模态显示的视图后呈现的视图控制器会表现得很糟糕。 – user3806731

4

我犯了一个愚蠢的错误,我sublclass UITabbarController和定义导航控制器在viewDidAppear而不是viewdidLoad,所以当我使窗口的rootview tabbar控制器,导航控制器设置不正确。这就是为什么所有棘手的事情发生。如果只是崩溃而不是这种奇怪的行为,会更好。

+0

这太棒了!我犯了同样的愚蠢错误,直到我阅读你的文章才意识到它。谢谢一堆! –

+0

同样的错误。谢谢。 – mra214

相关问题