【问题标题】:back to a particular view from any view in ios从 ios 中的任何视图返回特定视图
【发布时间】:2013-07-17 07:16:00
【问题描述】:

我是这个 Ios 应用程序的新手。我有 9 个视图,有时用户可以跳过一些视图。例如。用户可以跳到第 3 视图到第 5 视图。我想回到上一个视图(包括跳过的视图)我会详细解释

我已从第三视图跳转到第五视图。从第五个视图有一个后退按钮,当单击该按钮时,我需要跳回第四个视图。

目前我用过

 HealtghCareResponsibilityViewController *objPri = [viewsArray objectAtIndex:4];



[objPri passArrayFromEndDisclosure:self.arrayToPass];


[self.navigationController popToViewController:objPri animated:YES];

但我知道第四个视图被跳过了,所以第四个索引不在 objectAtIndex 中。

但是我需要回到第四个索引,有什么办法吗?

【问题讨论】:

    标签: ios


    【解决方案1】:
    for (UIViewController *controller in self.navigationController.viewControllers)
            {
                if ([controller isKindOfClass:[nameOfYourViewControllerYouWantToNavigate class]])
                {
                    [self.navigationController popToViewController:controller animated:YES];
    
                    break;
                }
            }
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      if ([[self.navigationController.viewControllers containsObject:objPri]) {
          [self.navigationController popToViewController:objPri animated:YES];
      } else {
          [self.navigationController pushViewController:objPri animated:YES];
      }
      

      因此,如果之前显示过,请返回它,如果没有,则添加它。


      替代:

      替换视图控制器以便弹出:

      NSArray *viewControllers = @[ objPri, self.navigationController.topVviewController ];
      self.navigationController.viewControllers = viewControllers];
      [self.navigationController popViewControllerAnimated:YES];
      

      【讨论】:

      • Tks,假设我想从第 5 个视图返回到第 2 个视图)第 2 个被跳过)。然后 ?请也回复这个
      • 完全一样的情况,你只需要更改objPri引用所引用的对象即可。
      • Tks,它正在工作。但是我使用了一种特殊类型的显示,其后视图显示为屏幕滚动到后退的方式。但是使用您的代码,它会向前移动。即从第 5 个视图我们感觉移动到第 3 个视图(第 5 个被移回并覆盖写入 3 我需要将第 5 个移到右侧,即感觉要回到第 3 个视图)我认为您可以理解它,请回复此问题
      • 请回复,我们卡住了...请
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 2014-07-26
      • 2011-07-16
      相关资源
      最近更新 更多