文档章节

Swift全屏滑动返回的手势

Raindew
 Raindew
发布于 2016/11/09 12:48
字数 354
阅读 45
收藏 2
点赞 0
评论 0

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

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

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

hejunbinlan ⋅ 2015/08/12 ⋅ 0

iOS 手势识别的工作原理及简单应用

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

changsanjiang ⋅ 2017/11/21 ⋅ 0

5行代码搞定全屏Pop转场

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

hejunbinlan ⋅ 2016/07/18 ⋅ 0

iOS开发tips-UINavigationBar的切换

概述 在iOS系统中,如果控制器是以push方式进行管理的话,那么事实上多个控制器是共享的同一个导航栏。当然iOS系统的设计无可厚非,但是国内的应用经常会遇到很多个性的设计,就比如说A pus...

jianxin160 ⋅ 2017/11/08 ⋅ 0

Swift 视频播放器 --VGPlayer

VGPlayer VGPlayer是一个对 AVPlayer 封装提供播放功能,displayView 为播放器画面绘制。 主要是使用了以下几个类: AVURLAsset是 AVAsset的子类,用来本地或者网络视频地址的初始化网络请求...

Vein_ ⋅ 2017/06/19 ⋅ 0

苹果Mac OS X系统常用多点触摸板操作手势

果的 Macbook 笔记本有一个非常灵敏的触摸板,以至于苹果甚至专门推出了价格不菲的触摸板单独销售。对于刚刚入手 Mac 电脑的朋友来说,可能很难很快掌握触摸板的触控手势操作与功效,这里和大...

丁佳辉 ⋅ 2016/10/21 ⋅ 0

视频播放控件 JiaoZiVideoPlayer 发布 6.10 预览版

JiaoZiVideoPlayer 已发布 6.10 预览版,更新内容: 列表滑动自动进入小窗播放 一些demo修改 JiaoZiVideoPlayer 是一款 Android 视频播放控件,特性如下: 视频全屏播放和浮层小窗播放 可以完...

王练 ⋅ 2017/10/23 ⋅ 3

Mac入门(二)Mac os x用户必须掌握的触摸手势

多点触摸手势是Mac OS X区别于Windows操作效率的一大优势,对于一些刚刚入手 Mac 电脑的用户来说,可能很难一下全部发现触摸板的功效,这里我们就一起分享给大家:  一般通用手势 显示桌面...

双月通天 ⋅ 2016/12/03 ⋅ 0

带缓存的视频播放器--HcdCachePlayer

HcdCacheVideoPlayer实现了边下边播在线视频,并且能将在线视频缓存在本地,支持左右滑动手势来调整视频播放进度,上下滑动手势调节音量大小,并且支持全屏播放。此控件使用了Masonry自动布局...

Jvaeyhcd ⋅ 2016/08/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

Spring JDBC使用方法

普通实现: 1、创建数据表customer。 可以使用任何数据库实现,在项目中要引入相应数据库驱动包并配置相应数据库连接。 2、创建Customer pojo。 Customer类的属性对应数据库的属性,除了为每...

霍淇滨 ⋅ 今天 ⋅ 0

Contos 7 安装Jenkins

Jenkins是一款能提高效率的软件,它能帮你把软件开发过程形成工作流,典型的工作流包括以下几个步骤 开发 提交 编译 测试 发布 有了Jenkins的帮助,在这5步中,除了第1步,后续的4步都是自动...

欧虞山 ⋅ 今天 ⋅ 0

revel

revel install go get github.com/revel/revelgo get github.com/revel/cmd create new app revel new git.oschina.net/zdglf/myapp run app revel run git.oschina.net/zdglf/myapp ot......

zdglf ⋅ 今天 ⋅ 0

49. Group Anagrams - LeetCode

Question 49. Group Anagrams Solution 思路:维护一个map,key是输入数组中的字符串(根据字符排好序) Java实现: public List<List<String>> groupAnagrams(String[] strs) { Map<Strin......

yysue ⋅ 今天 ⋅ 0

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 今天 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 今天 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部