文档章节

Swift全屏滑动返回的手势

Raindew
 Raindew
发布于 2016/11/09 12:48
字数 354
阅读 66
收藏 2

YLFullscreenSlider Swift

给导航控制器添加一个全屏滑动返回的手势。类似QQ.微博的效果 ##如何使用? ###YLFullscreenSlider文件夹拖入你的项目 ###需要的导航栏继承YLFullscreenSliderController即可 ###你也可以拷贝下面代码到你的控制器实现 ##实现代码

   //1获取系统的pop手势
      guard let systemGes = interactivePopGestureRecognizer else { return }
      //2获取手势添加的view
      guard let gesView = systemGes.view else { return }
      //3.1获取target action

target和action不能够直接拿到。因此要使用运行时和KVO ```Swift //利用运行时机制查看对应属性名称 /* var count : UInt32 = 0 let ivars = class_copyIvarList(UIGestureRecognizer.self, &count)! for i in 0..<count { let ivar = ivars[Int(i)] let name = ivar_getName(ivar) //打印所有属性 print(String(cString: name!)) } */

在运行时中我们找到了target
[image](http://og3u5glro.bkt.clouddn.com/all.png?imageView2/2/w/308/h/210/interlace/1/q/100)

 ```Swift
        let targets = systemGes.value(forKey: "_targets") as? [NSObject]
        guard let targetObjc = targets?.first else { return }
        //        print(targetObjc)//打印拿到到的target字典

使用KVO取出需要的属性 image 拿到了pan的key

        //3.2取出target
        guard let target = targetObjc.value(forKey: "target") else { return }
 
        //3.3取出target
        let action = Selector(("handleNavigationTransition:"))

添加进去

        //4 创建自己的手势pan
        let panGes = UIPanGestureRecognizer()
        gesView.addGestureRecognizer(panGes)
        panGes.addTarget(target, action: action)

##效果 效果图

gitHubDemo下载

© 著作权归作者所有

共有 人打赏支持
Raindew
粉丝 3
博文 16
码字总数 6727
作品 0
南京
iOS工程师
私信 提问
全屏手势返回插件 - BBGestureBack

BBGestureBack Full screen return gesture(全屏手势返回 滑动返回 pop 动画效果) iOS 侧滑返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 现在市场上的主流app都有用到各种侧...

Bonway
05/30
0
0
8行代码教你搞定导航控制器全屏滑动返回效果

作者:@吖了个峥 授权本站转载 前言 此次文章,讲述的是导航控制器全屏滑动返回效果,而且代码量非常少,10行内搞定。 效果如图: 如果喜欢我的文章,可以关注我,也可以来小码哥,了解下我们...

hejunbinlan
2015/08/12
0
0
iOS 全屏侧滑手势/UIScrollView/UISlider间滑动手势冲突

一、前期准备 有一个支持全屏侧滑返回的视图控制器ViewController,ViewController.view上有一个UIScrollView,UIScrollView上有UISlider。俺直接在之前的示例Demo上演示,简书地址:iOS 自定...

且行且珍惜_iOS
08/17
0
0
iOS 手势识别的工作原理及简单应用

我们的项目中, 因为有视频播放, 需要用到全屏手势返回(使用AVPlayer播放视频时, 如果用系统手势返回, 会出现播放卡顿的问题), 所以我参考了这本书手势章节介绍的内容, 写了一个全屏返回手势的...

changsanjiang
2017/11/21
0
0
5行代码搞定全屏Pop转场

原文出处: DoublesZ 最近在写论文阶段, 没有足够的精力来写技术分享, 再此说声抱歉, 不过我也会尽力挤出时间不定期为大家更新一些干货的!! 请大家继续关注!! POP全屏转场 好了, 今天要分享的...

hejunbinlan
2016/07/18
18
0

没有更多内容

加载失败,请刷新页面

加载更多

Kubernetes里的secret最基本的用法

Secret解决了密码、token、密钥等敏感数据的配置问题,使用Secret可以避免把这些敏感数据以明文的形式暴露到镜像或者Pod Spec中。 Secret可以以Volume或者环境变量的方式使用。 使用如下命令...

JerryWang_SAP
昨天
1
0
可重入锁和非可重入锁

广义上的可重入锁指的是可重复可递归调用的锁,在外层使用锁之后,在内层仍然可以使用,并且不发生死锁(前提得是同一个对象或者class),这样的锁就叫做可重入锁。 可重入锁: ReentrantLoc...

狼王黄师傅
昨天
1
0
2018-11-20学习笔记

1. python数据类型: 给变量赋值什么样的值,变量就是什么样的类型 给变量赋值整数,变量就是整数类型 给变量赋值字符串,变量就是字符串类型 123 和“123”一样吗? 在python中 单引号 与双...

laoba
昨天
1
0
使用 React 和 Vue 创建相同的应用,他们有什么差异?

在工作中应用 Vue 之后,我对它有了相当深刻的理解。 不过,俗话说「外国的月亮比较圆」,我好奇「外国的」 React 是怎么样的。 我阅读了 React 文档并观看了一些教程视频,虽然它们很棒,但...

阿K1225
昨天
2
0
2天闭门培训|以太坊智能合约从入门到实战(北京)

2天培训 16个课时 探寻技术原理,精通以太坊智能合约开发 以太坊智能合约是现在应用的最广泛的区块链应用开发方式,HiBlock区块链社区针对以太坊智能合约的学习特别推出2天闭门研修班,通过2...

HiBlock
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部