iOS返回到 任意一个控制器或者返回到前两个界面(注意:适合有导航控制器的项目)

  • 方式1(自我感觉不到迫不得已慎用,可能会造成层级架构错误):返回到AS_ZBPersonnelAssessmentDetailVC控制器。弊端:无法返回到导航控制器中最外层的控制器,可以利用方式2解决
for (UIViewController *VC in self.navigationController.viewControllers) {

        if ([VC isKindOfClass:[AS_ZBPersonnelAssessmentDetailVC class]]) {

            [self.navigationController popToViewController:VC animated:NO];
        }
 }

-方式2:因为控制器都是压栈进去的,所以第0个最先push的控制器
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];


返回到前两个界面

NSInteger indexValue = (NSInteger)[[self.navigationController viewControllers] indexOfObject:self];
if (indexValue > 2) {
       [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:(indexValue - 2)] animated:YES];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容