博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS返回到指定界面
阅读量:6914 次
发布时间:2019-06-27

本文共 998 字,大约阅读时间需要 3 分钟。

    大家都知道导航控制器中的返回按钮,会返回到上一个页面,但有时项目中有特殊要求,需要返回到指定的页面,我是这么实现的。

 

    1、

    首先是监听这个返回按钮的方法,我是通过自定义返回按钮监听的。

//    自定义返回按钮

    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"back-1x"] style:(UIBarButtonItemStyleDone) target:self action:@selector(backBtn)];

 

 

    2、

    然后遍历导航控制器中的控制器,当遍历到需要返回到指定页面的控制器时候,直接break,重新添加到导航控制器中,就是这个思路,下面贴上代码。

#pragma mark - 点击返回按钮,回到指定页面

- (void)backBtn

{

    UINavigationController *navigationVC = self.navigationController;

    NSMutableArray *viewControllers = [[NSMutableArray alloc] init];

//    遍历导航控制器中的控制器

    for (UIViewController *vc in navigationVC.viewControllers) {

        [viewControllers addObject:vc];

//        CourseTableController就是你需要返回到指定的控制器名称,这里我需要跳转到CourseTableController这个控制器

        if ([vc isKindOfClass:[CourseTableController class]]) {

            break;

        }

    }

//    把控制器重新添加到导航控制器

    [navigationVC setViewControllers:viewControllers animated:YES];

    

    [navigationVC popViewControllerAnimated:YES];

}

 

    这样就可以直接返回到指定页面了,希望可以帮助到大家。

 

转载于:https://www.cnblogs.com/ladyotao/p/5674861.html

你可能感兴趣的文章
[翻译-ASP.NET MVC]Contact Manager开发之旅之迭代1 - 创建Contact Manager应用
查看>>
Linux C 下使用openssl 进行SHA1加密
查看>>
4星|《我的第一本创业融资指南》:投资人写的创业者融资指南
查看>>
再现一分钱中标,中国电信拿下海南政务云项目
查看>>
文件服务器之二:FTP服务器(pureftp)
查看>>
30分钟快速搭建门店智能监控视频分析
查看>>
解决drbd不能启动问题(Can not load the drbd module.)
查看>>
简单的RIP实验
查看>>
4星|《哈佛商业评论》2017年11期:高质量基础管理对企业的重要性不亚于卓越的战略思考。...
查看>>
ssh端口转发(之kettle ssh方式连接数据库)
查看>>
出现错误,显示事务没有回滚
查看>>
2、权限、变量、for 学习笔记
查看>>
Centos6安装配置rsync+inotify实时单向同步
查看>>
Cisco系列路由器密码恢复研究与实践
查看>>
顺时针打印矩阵
查看>>
Linux 2 unit5 LVM创建
查看>>
函数定义、函数的参数、函数的默认参数
查看>>
javaScript显示和隐藏(display属性)
查看>>
采用管道进行通讯的例子
查看>>
ubuntu添加一个源
查看>>