实现视图控制器一次 dismissViewController 两个视图控制器
来源:互联网 发布:陕西千秋网络好不好 编辑:程序博客网 时间:2024/06/03 22:07
如,从 rootViewControlle(presentViewControlle)到 ViewControlle1,再从ViewControlle1(presentViewControlle)到 ViewControlle2。现在实现从(ViewControlle2)直接dismissViewControlle到 rootViewControlle
1. dismiss两个视图控制器的按钮方法该视图控制器(ViewControlle2)是上个视图控制器(ViewControlle1) presentViewControlle 的控制器
- (void)dismissButton:(UIButton *)sender{ // 当本视图控制器dismiss 完成后注册通知,名为“dismiss” [self dismissViewControllerAnimated:NO completion:^{ [[NSNotificationCenter defaultCenter] postNotificationName:@"dismiss" object:self]; }];}
2. 在 ViewControlle1.m中的 viewWillAppear:方法中监测上一个视图控制器dismissViewControlle的通知,监测到之后就执行dismissSelf:里的方法
- (void)viewWillAppear:(BOOL)animated{ NSNotificationCenter *notification = [NSNotificationCenter defaultCenter]; [notification addObserver:self selector:@selector(dismissSelf:) name:@"dismiss" object:nil];}
3.得到通知执行的方法,让 ViewControlle1 dismissViewControlle到rootViewControlle
- (void)dismissSelf:(NSNotificationCenter *)notification{ [self dismissViewControllerAnimated:NO completion:^{ [[NSNotificationCenter defaultCenter] removeObserver:self name:@"dismiss" object:nil]; }];}
4.移除通知,可以在 viewDidDisappear:方法中执行
- (void)viewDidDisappear:(BOOL)animated{ [[NSNotificationCenter defaultCenter] removeObserver:self name:@"dismiss" object:nil];}移除通知的地方自己可以根据自己的项目而用,该什么时候移除、在哪个方法中移除等考虑
1 0
- 实现视图控制器一次 dismissViewController 两个视图控制器
- 实现控制器和视图
- 控制器 & 视图
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- 视图控制器
- dismissViewController实现多个模态视图跳转
- JS中位置与大小的获取
- SQL*LOAD 数据文件与目标表数目不一致加载
- React插件-类名操作
- 你应该知道的那些Android小经验
- Android WebView 开发详解(一)
- 实现视图控制器一次 dismissViewController 两个视图控制器
- 当TensorFlow遇见CNTK
- React插件-测试工具集-克隆组件
- 有了3D Touch,再也不用AssistiveTouch了
- Oracle 函数
- 启程
- Android中Service(服务)详解
- Java :Arrays 的copyOf()
- Linux 常用命令