Swift之捕捉侧滑返回事件并跳转指定控制器
捕捉侧滑返回事件
在当前控制器中重写以下两个方法即可:
// OC
- (void)willMoveToParentViewController:(nullable UIViewController *)parent NS_AVAILABLE_IOS(5_0);
- (void)didMoveToParentViewController:(nullable UIViewController *)parent NS_AVAILABLE_IOS(5_0);// Swiftoverride func willMove(toParent parent: UIViewController?) {super.willMove(toParent: parent)}override func didMove(toParent parent: UIViewController?) {super.didMove(toParent: parent)}
- 第一次push进来的时候两个方法都会调用,parent的值不为空。
- 当开始使用系统侧滑的时候,会先调用willMove,而parent的值为空。
- 当滑动结束后返回了上个页面,则会调用didMove,parent的值也为空,如果滑动结束没有返回上个页面,也就是轻轻划了一下还在当前页面,那么则不会调用didMove方法。
- 想要在侧滑返回后在上个页面做一些操作的话,可以在didMove方法中根据parent的值来判断。
跳转指定控制器
if (!parent) {var tmp = NSMutableArray(array: self.navigationController!.viewControllers) as! [UIViewController]var minIndex: Int = 0for (index, vc) in tmp.enumerated() {if vc.isKind(of: SafeCenterViewController.self) {minIndex = index + 1break}}if minIndex != 0 {tmp.removeSubrange((minIndex)..<(tmp.count - 1))self.navigationController?.viewControllers = tmp}}
let popVC = self.navigationController?.viewControllers[2]self.navigationController?.popToViewController(popVC!, animated: true)
Swift之捕捉侧滑返回事件并跳转指定控制器相关推荐
- IOS微信浏览器返回事件监听问题
业务需求:从主页进入A订单页面,然后经过各种刷新或点标签加载后点左上角的返回直接返回到主页 采取方法:采用onpopstate事件监听url改变,从而跳转到主页 遇到的问题:安卓上测试没问题:苹果手机 ...
- Android侧滑返回分析和实现(不高仿微信)
项目地址:SLWidget/SwipeBack Demo体验:SLWidget(1.5MB) 侧滑 屏幕旋转 窗口模式 废话 不久前淘汰了用了三年多的iPhone6Plus,换了部三星S9+.流畅的吃 ...
- 【swift学习笔记】二.页面转跳数据回传
上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...
- [搬运] iOS 7 侧滑返回手势使用和错误集
原文:http://blog.sina.com.cn/s/blog_65c178a80102v0f4.html 前言: ios7开始 苹果增加了页面 右滑返回的效果:具体的是以UINavigation ...
- Android侧滑返回分析和实现(不高仿微信),flutter项目实战
废话 不久前淘汰了用了三年多的iPhone6Plus,换了部三星S9+.流畅的吃鸡体验,丝滑的屏幕,超高的性价比(港行还另打了9折),真喜欢的不行.不过从IOS切换到Android,还是不太适应,首当 ...
- iOS小技能:监听H5页面goBack返回事件 网页监听APP返回键 (NavigationBackItemInjection)
文章目录 引言 I . iOS监听H5页面goBack返回事件 1.1 UIWebView 监听H5页面goBack返回事件 1.2 WKWebView监听H5页面goBack返回事件 II. 网页监 ...
- IOS微信浏览器返回事件popstate监听
问题描述: 通过监听popstate事件,来判断是否点击返回按钮,比如从A页面跳转到B页面(监听popstate),然后再跳转到C页面,点击返回的按钮,测试成功,包括安卓版,但是问题来了,IOS版的微 ...
- JS监控手机或APP返回事件
做微信项目的时候,发现在Ios微信浏览器左上角有个返回按钮,但是点击返回时不稳定,跳到不该跳的页面.网上搜了一个捕获返回事件的JS代码,记录下来,便于以后查看. <span style=&quo ...
- iOS一行代码让你的应用中UIScrollView的滑动与侧滑返回并存
侧滑返回是iOS系统的一个很贴心的功能,特别是在大屏手机上,单手操作的时候去按左上角的返回键特别不方便.当我在使用一个APP的时候,如果控制器不能侧滑返回,我会觉得这个APP十分不友好...这款产品在 ...
最新文章
- 使用 fastlane 实现 iOS 持续集成(二)
- Oracle 11g安装与使用
- easyui datagrid 绑定json对象属性的属性
- IO - 同步,异步,阻塞,非阻塞
- 【机器视觉】 dev_clear_obj算子
- (递推1)兔子繁殖问题
- 径向基神经网络_谷歌开源Neural Tangents:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”...
- UI-Day02--昨日作业代码(二)
- 放弃机器学习,Python 如何进行物体检测?
- 前端每日实战:47# 视频演示如何用纯 CSS 创作一个蝴蝶标本展示框
- spark架构设计编程模型 02
- java为什么要设计包装类_Java 为什么需要包装类
- js实现城市名称拼音索引
- 开源公司内部的微信爬虫,寻求志同道合的人一起来改进
- 【计算机基础】计算机发展历程
- 英语语法详解:名词修饰名词
- 对excel的导出,使用jxt
- 代码随想录第二天 leetcode 977、209、59
- 如何在头条做营销:2022今日头条营销价值洞察报告.pdf(附下载链接)
- 理解Spring面向接口编程思想