2012-07-07 25 views
1

我从here得到了这段代码,它可以按我的需要完美工作。但问题是当我想弹出视图控制器并返回到主屏幕时。当我使用“弹出”后无法推送viewController

[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]; 

回答

0

你应该使用

[self.navigationController popToRootViewControllerAnimated:YES]; 
+0

它不工作..我真的没有任何线索为什么。另外,我只想到前面的视图,而不是根视图。 – 2012-07-08 11:44:44

+0

你是否得到它的工作? – alandalusi 2012-08-18 19:40:13

0

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

尝试使用CATransition动画效果。

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