【问题标题】:Can't push viewController after "Popping" it“弹出”后无法推送视图控制器
【发布时间】:2012-07-07 13:33:23
【问题描述】:

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

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

【问题讨论】:

    标签: iphone objective-c ios xcode uiviewcontroller


    【解决方案1】:

    您应该使用

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

    【讨论】:

    • 它不起作用..我真的不知道为什么。而且,我只想进入前一个视图,而不是根视图。
    【解决方案2】:

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

    尝试使用 CATransition 动画效果。

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

    【讨论】:

      猜你喜欢
      • 2014-10-03
      • 1970-01-01
      • 2012-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      相关资源
      最近更新 更多