Swift - 如何连续dismiss 2个VC视图控制器(以及直接跳回根视图)
来源:互联网 发布:疯狂java 编辑:程序博客网 时间:2024/06/08 09:31
我们知道通过 present 和 dismiss 方法可以进行页面(ViewController)跳转。其中 present 是加载新的模态视图,而 dismiss 是退出当前视图,回到上一个视图。
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_1430.html
但有时我们并不想要一级一级地往回跳,比如需要跨级跳转,或者直接跳回到根页面上。下面通过样例分别进行演示。
一、连续dissmiss两个视图
比如下面样例,我们在C页面中想要直接跳回到A页面。
代码如下:
1
self
.presentingViewController?.presentingViewController?.dismiss(animated:
true
, completion:
nil
)
二、直接跳回到根视图
比如下面样例,我们在F页面上想直接跳回到最底层页面A。有两种实现方法。1,循环调用 presentingViewController 获取根VC,再dissmiss
2,直接通过 window.rootViewController 获取根VC,再dissmiss
1
2
3
4
5
6
7
//获取根VC
var
rootVC =
self
.presentingViewController
while
let
parent = rootVC?.presentingViewController {
rootVC = parent
}
//释放所有下级视图
rootVC?.dismiss(animated:
true
, completion:
nil
)
2,直接通过 window.rootViewController 获取根VC,再dissmiss
1
self
.view.window?.rootViewController?.dismiss(animated:
true
, completion:
nil
)
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_1430.html
0 0
- Swift - 如何连续dismiss 2个VC视图控制器(以及直接跳回根视图)
- navigationBar 从视图2跳回视图1
- UI_UIViewController_视图控制器(VC)
- swift uinavigationController 视图控制器切换(二)
- 获取UIView的视图控制器(Swift)
- 如何判断UIViewController是使用pop,dismiss返回到上级视图控制器
- Objective-C ,ios,iphone开发基础:多个视图(view)之间的切换,以及视图之间传值。使用parent <->dismiss
- ios 如何dismiss连续好几个viewControllers
- 多个视图控制器的视图切换
- 17.3、UINavigaionController(如何管理视图控制器2)-OC+UI
- dismiss到跟视图
- UI根视图控制器
- UITabBarController 根视图控制器
- 获取根视图控制器
- iOS视图控制器<2>
- ViewController (视图控制器)
- UI_ViewController(视图控制器)
- 导航视图控制器中如何定义按钮以及视图之间的切换
- servlet 工作原理
- osg窗口的创建(一)
- Java 使用Calendar 工具类时 设置时区
- linux yum命令详解
- Hadoop入门之Hadoop-2.5.0源码编译
- Swift - 如何连续dismiss 2个VC视图控制器(以及直接跳回根视图)
- 2017 年你应该学习的编程语言、框架和工具
- hibernate中时间数据被截断的处理
- MVC中使用Tuple完成匿名类数据存储
- php删除字符串中的所有空格
- Z-turn Board 学习笔记(2)---HelloWorld
- java 判断含有中文的字符串的长度
- jsp电子商务系统之六 订单篇1
- RTSP Streaming to Google Youtube