“Popping”之后无法推送viewController

时间:2012-07-07 07:46:20

标签: iphone objective-c ios xcode uiviewcontroller

我从here得到了这个代码,它可以在我需要时完美运行。但问题是当我想弹出视图控制器并返回主屏幕时。当我使用

[self.navigationController popViewControllerAnimated:YES];
时,它什么都不做。但是当我使用相同的代码时,它可以工作,但不是我想要的方式,从“从左到右”。

这是代码,为了让它以与他相同的方向弹出视图控制器,我必须做些什么?我知道它将viewController放在我正在处理的那个之前,而不是pop它,但现在我怎么能推?当我试图推动时我得到错误。

    NSMutableArray *vcs =  [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
    [vcs insertObject:levelsView atIndex:[vcs count]-1];
    [self.navigationController setViewControllers:vcs animated:NO];
    [self.navigationController popViewControllerAnimated:YES];

2 个答案:

答案 0 :(得分:0)

您应该使用

进入主屏幕
[self.navigationController popToRootViewControllerAnimated:YES];

答案 1 :(得分:0)

首先深入调试您的代码段。检查你的数组vcs,对象是否正在插入?如果是,那么检查self.navigationController不是零..如果没有,那么详细说明你的代码。如果你不想公开你的代码尝试替代动画。

尝试使用CATransition Animation效果。

CATransition * trans = [CATransition animation];
trans.type = kCATransitionPush;
trans.subtype = kCATransitionFromLeft;
trans.duration = 0.22;