1

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

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

这是代码,我必须做些什么才能让它以他来自的同一方向弹出视图控制器?我知道它将 viewController 放在我正在处理的之前,而不是弹出它,但是现在我该如何推送?当我尝试推动我得到错误。

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

2 回答 2

0

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

尝试使用 CATransition 动画效果。

CATransition * trans = [CATransition animation];
trans.type = kCATransitionPush;
trans.subtype = kCATransitionFromLeft;
trans.duration = 0.22;
于 2013-07-26T11:30:49.173 回答
0

您应该使用

[self.navigationController popToRootViewControllerAnimated:YES];
于 2012-07-07T07:58:29.343 回答