【问题标题】:navigation issue between viewcontrollers视图控制器之间的导航问题
【发布时间】:2014-02-11 12:05:43
【问题描述】:

推送视图控制器后,当我想将其弹出时,我的应用程序崩溃了。

NSArray *viewControllers = self.navigationController.viewControllers;
if (viewControllers.count>0) {
    [[self navigationController]  popViewControllerAnimated:YES];
}

我正在推动的控制器具有 uiwebview 和我正在做的要求 [twebView 停止加载];

我一无所知。任何人请给我一个很好的工作建议。 有没有什么简单的方法可以从右向左推送viewcontroller??

【问题讨论】:

  • 到底是哪一行崩溃了?崩溃时的错误信息是什么?
  • 推送的视图控制器通常通过调用[self.navigationcontroller popViewControllerAnimated:] 弹出,无需像您的代码那样的额外代码。我想其他地方有什么问题。让我显示一条崩溃消息。
  • @KyokookHwang 是的,它应该表现得如何。 n 我首先尝试了 [self.navigationcontroller popViewControllerAnimated:]不是每次崩溃,但如果我停止加载 webview,它不会弹出控制器。
  • 我不确定以下链接是否有用。检查类似了。 stackoverflow.com/a/12651108/579236

标签: objective-c ios7 uiwebview uipopovercontroller pushviewcontroller


【解决方案1】:

首先alloc您的阵列。参考以下代码:

NSArray *viewControllers = [[NSArray alloc]init];
viewControllers = self.navigationController.viewControllers;

NSLog(@"Controllers = %@",viewControllers);

if (viewControllers.count>0) {
    [[self navigationController]  popViewControllerAnimated:YES];
}

还可以检查控制器的日志,如上。

【讨论】:

    【解决方案2】:
        for (UIViewController *controller in self.navigationController.viewControllers)
        {
            if ([controller isKindOfClass:[OldViewController class]])
            {
                //Do not forget to import AnOldViewController.h
    
                [self.navigationController popToViewController:controller animated:YES];
                break;
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-10
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多