pop回指定控制器
//OC
NSArray *array = [NSMutableArray new];
array = self.navigationController.viewControllers; //1、返回指定index的控制器
UIViewController *viewC = [array objectAtIndex:0];
[self.navigationController popToViewController:viewC animated:YES]; //2、
UIViewController *viewc = [UIViewController new];
for (viewc in array) {
if ([viewc isKindOfClass:[指定控制器 class]]) {
[self.navigationController popToViewController:viewcanimated:YES];
}
}
//3、
[vcArr removeObject:strongSelf];
[self.navigationController setViewControllers:vcArr animated:NO];
2、Swift
//返回指定界面
let marr = NSMutableArray.init(array:(self.navigationController?.viewControllers)!)
for i in 0..<marr.count {
let vc = marr[i] as! UIViewController
let vcName = type(of: vc)
let PurposeVCName = type(of: 指定控制器名称())
if "\(PurposeVCName)" == "\(vcName)" {
self.navigationController?.popToViewController(vc, animated: true)
}
}
let marr = NSMutableArray.init(array:(self.navigationController?.viewControllers)!)
for i in 0..<marr.count {
let vc = marr[i] as! UIViewController
let vcName = type(of: vc)
let PurposeName = type(of: 指定控制器的后一个控制器名称())
if "\(PurposeName)" == "\(vcName)" {
let popVC = self.navigationController?.viewControllers[i-1]
self.navigationController?.popToViewController(popVC!, animated: true)
}
}
//将本控制器从导航栏控制器数组中移除,从而返回到跳转到本控制器的控制器
let marr = NSMutableArray.init(array(self.navigationController?.viewControllers)!)
let removeArr = NSMutableArray()
for i in 0..<marr.count {
let vc = marr[i] as! UIViewController
let vcName = type(of: vc)
let selfName = type(of: self)
if "\(selfName)" == "\(vcName)" {
removeArr.add(vc)
}
} if removeArr.count > 0 {
for i in 0..<removeArr.count {
let vc = removeArr[i] as! UIViewController
marr.remove(vc)
}
}
let array : NSArray = marr
self.navigationController?.viewControllers = array as! [UIViewController]
pop回指定控制器的更多相关文章
- navigationController Pop回指定页面
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIn ...
- swift 4.2 - 根据字符串 push指定控制器
俩个方法 1. 创建类写成 类方法 import UIKit /* * 注释:获得VC * 1.字符串 和使用的控制器,直接跳转 * 2.用过字符串获得对应VC */ class JYGetPushV ...
- RYU改动监听port Mininet在custom自建拓扑和连接到指定控制器命令解释
1.RYU控制器改动监听port 在ryu/ryu/ofproto以下的ofproto_common.py watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc ...
- 多次页面跳转后pop回主界面的问题
最近写代码的时候出了点BUG, 查阅资料后终于解决了. 问题原因大概是: 项目中所有的viewController都是继承自一个封装好的viewController. navigationbar, n ...
- [PHP] 实现路由映射到指定控制器
自定义路由的功能,指定到pathinfo的url上,再次升级之前的脚本 SimpleLoader.php <?php class SimpleLoader{ public static func ...
- ios开发之--pop到指定页面
1 推出到根视图控制器 [self.navigationController popToRootViewControllerAnimated:YES]; 2 推出到指定的视图控制器 for (UIVi ...
- iOS从不同页面跳转回到指定控制器
HomeViewController *homeVC = [[HomeViewController alloc] init]; UIViewController *target = nil; for ...
- ionic3 pop到指定页面
this.navCtrl.getViews().forEach(element => { if(element.name == 'JiecheHomePage'){ this.navCtrl.p ...
- ios UINavigationController 导航栏
添加全屏侧滑返回 .获取到系统的pop返回手势 .获取pop在哪个view上 .获取target,action .自定义UIPanGestureRecognizer //1.获取手势 guard le ...
随机推荐
- 关于Asp.net core配置信息读取的源码分析梳理
概述 我们都知道asp.net core配置信息的读取离不开IConfigurationSource和IConfigurationProvider这两个类,ConfigurationSource可以提 ...
- Git+windows安装教程(一)
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...
- js运算符 及 运算符优先级
「运算符」是用于实现赋值.比较和执行算数运算等功能的符号.常用运算符分类如下符号 算数运算符 递增和递减运算符 比较运算符 逻辑运算符 赋值运算符 算数运算符 运算符 描述 案例 + 加 10+20= ...
- sklearn模型保存与加载
sklearn模型保存与加载 sklearn模型的保存和加载API 线性回归的模型保存加载案例 保存模型 sklearn模型的保存和加载API from sklearn.externals impor ...
- sklearn之转换器和估计器
sklearn之转换器和估计器 转换器 估计器(sklearn机器学习算法的实现) 转换器 想一下之前做的特征工程的步骤? 实例化(实例化的是一个转换器类(Transformer)--特征工程的父类) ...
- golang常用库:日志记录库-logrus使用
介绍 logrus 它是一个结构化.插件化的日志记录库.完全兼容 golang 标准库中的日志模块.它还内置了 2 种日志输出格式 JSONFormatter 和 TextFormatter,来定义输 ...
- Calendar.set方法获取前一天的当前时刻
获取前几天的当前时刻的时间方法 Calendar cal = Calendar.getInstance(); Date date = new Date();// 获取当前时间 cal.setTime( ...
- 问题 B: 喷水装置(二)(在c++上运行有错误,提交AC了)
题目描述 有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000)个点状的喷水装置,每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被润湿.请在给出的喷水装 ...
- python及pygame雷霆战机游戏项目实战01 控制飞机
入门 在这个系列中,将制作一个雷霆战机游戏. 首先,将游戏设置修改一下: WIDTH = 480 HEIGHT = 600 FPS = 60 玩家精灵 要添加的第一件事是代表玩家的精灵.最终,这将是一 ...
- Windows11 如何让开始菜单出现休眠选项(Windows11如何开启休眠功能?)Windows家庭版
1. Windows11新版的菜单找不到调休眠的选项了,所以我们可以用win+r键调出运行,输入control,回车调出「控制面板」 配图: 2. 我的电脑系统是家庭版的Windows11,其它版本这 ...