iOS第二次推送View。

时间:2014-03-20 17:06:33

标签: ios iphone objective-c uinavigationcontroller

在iOS 7和XCode 5中。

我在导航视图控制器上有几个视图,使用segues。

有些观点是由segue推动的,而其他观点是由代码推动的。  查看层次结构:

  `View A -> View B -> View C -> View D`

然后
     View D pops to View B.

所有这些都没有问题,但是当我转到View B时(在被View D弹出之后),View B无法再次推送到View C.没有错误信息,它只是没有推送。 唯一的方法是关闭应用程序并再次重新启动应用程序,直到再次弹出D.

有什么建议吗?如果它有帮助,我可以发送代码片段。

编辑代码

从B推送到C(C是标签栏视图控制器):

    MainTabBarViewController *mainTabBarVC = (MainTabBarViewController *) [storyboard instantiateViewControllerWithIdentifier:@"MainTabBarController"];
    [self.navigationController pushViewController:mainTabBarVC animated:YES];

从D弹出到B(D是Tab Bar VC中的视图):

int totalViews = [[self.parentViewController.navigationController viewControllers]count];
for (int i = 0; i < totalViews; i++)
{
    id obj = [[self.parentViewController.navigationController viewControllers]objectAtIndex:i];
    if ([obj isKindOfClass:[ContactAndDeliveryOptionsVC class]])
    {
        [self.parentViewController.navigationController popToViewController:obj animated:YES];
        return;
    }
}

0 个答案:

没有答案