美文网首页iOS工作系列超棒文集iOS开发那些事
iOS侧滑返回三种实现方式及优劣比较

iOS侧滑返回三种实现方式及优劣比较

作者: 正在爬坡的iOS程序猿 | 来源:发表于2015-11-18 13:52 被阅读14891次

现在开发的APP项目中,如果没有实现侧滑返回的功能,都不好意思拿出来秀~

虽然官方提供了侧滑返回的API,但是很多开发者追求全屏侧滑返回,觉得官方提供的不够用。

想必大多数开发者都知道如何实现侧滑返回,今天,我们就来总结一下。

三种方法:

方法1:系统自带的侧滑返回

方法2:【8行代码教你搞定导航控制器全屏滑动返回效果】 |那些人追的干货

方法3:百度知道团队出品的全屏侧滑返回(github地址)


方法一实现(系统方法):

方法一实现截图

优点:实现简单,导航控制器中对全体viewController的侧滑功能可控,系统API绝对安全可靠,无手势冲突

缺点:侧滑范围局限于左侧

适用需求:只需左侧小范围触发侧滑时的首选实现方案。

注:以上代码是强制开启,而系统的侧滑是默认开启的,如果在某一界面 hidesBackButton,那么系统是禁止当前界面的侧滑返回。

如果实现了以上代码,属于强制开启,那么就算当前界面hidesBackButton,侧滑功能一样开启,通过上面的代理方法可以做到灵活控制哪个界面是否开启侧滑。


方法二实现(并不完美的全屏侧滑):

方法二实现截图

优点:最简洁的全屏侧滑实现,导航控制器中对全体viewController的侧滑功能可控

缺点:从右边忘左边划动也能触发侧滑操作,有手势冲突,并不完美。且调用官方私有API

另外:正是缺点的所在,和Cell的侧滑删除手势也是有冲突的,也就是说,免不了需要解决手势的冲突。

适用需求:最好不用,毕竟缺点明显。(不过这个实现思路,确实值得称赞!)


方法三实现(集成最简单、功能最全面):

去上面的链接地址下载DEMO,具体详情见github

使用截图

优点:最全面的全屏侧滑实现,集成超简单,全体viewController的侧滑功能可控,不过得在ViewController内部去控制,稍微麻烦一点;另外,百度知道团队在维护该DEMO,功能会越来越完善,花样更多。

缺点:调用官方私有API(不过已有上线作品,不影响上线,缺点可以忽略!)

适用需求:目前最好的全屏侧滑实现方案。


以上为亲测后的感受,希望对大家有所帮助!

相关文章

  • iOS侧滑返回三种实现方式及优劣比较

    现在开发的APP项目中,如果没有实现侧滑返回的功能,都不好意思拿出来秀~虽然官方提供了侧滑返回的API,但是很多开...

  • iOS侧滑返回三种实现方式及优劣比较

    现在开发的APP项目中,如果没有实现侧滑返回的功能,都不好意思拿出来秀~ 虽然官方提供了侧滑返回的API,但是很多...

  • iOS侧滑返回

    相关原理 iOS侧滑返回,有三种方案可以实现(只考虑iOS7以后) 开启使用系统自带的侧滑返回self.navig...

  • iOS侧滑返回实现

    1. 使用官方API解决Navigation侧滑导致的Navigationbar异常显示和隐藏的问题 参考:htt...

  • iOS开源项目推荐|侧滑与右滑返回手势

    iOS开源项目推荐|侧滑与右滑返回手势

  • iOS之侧滑返回无需第三方,只需在自己的BaseNavContr

    iOS之侧滑返回无需第三方,只需在自己的BaseNavController添加大概20行代码即可 iOS之侧滑返回...

  • 侧滑返回实现

    前两天开发公司的项目,突然发现项目没有侧滑返回的功能。今天研究了一下。在网上找了资料,原来ios7之后系统自带的有...

  • iOS 侧滑返回

    iOS 侧滑返回 BBGestureBack iOS 全屏手势返回 滑动返回 pop 动画效果 这种手势主流App...

  • iOS侧滑返回

    效果图 交互式动画的实现过程 动画1、给UINavigationController添加代理,需实现UINavig...

  • iOS 侧滑返回

    也是在简书上看到 别人的文章,但只是说了一部分,不够全面,当我们的controller定义返回功能时,侧滑返回功能...

网友评论

  • 曾经像素有点低:这个人,抄袭你的文章。连错别字都是一样的,——“缺点:从右边 》忘 《 左边划动也能触发侧滑操作”——https://blog.csdn.net/TechAlleyBoy/article/details/70801086;我添加你的文章到我的专题了
  • 超级码LEO:超级码LEO: 当页面tableview上下滑动的时候 还可以触发侧滑返回 怎么样在tableview上下滑动的时候侧滑无效呢 ?
  • Wang66:之前一直是在用方法二的,但是没发现过有从右往左滑动时也出现返回的情况,刚刚试了下APP,确实会出现,不过几率很低,比较难触发。按理说,它是拖动手势,不管往左往右,应该都是一样会触发的,但为什么从右往左很难触发呢?:no_mouth:
  • STF_ZHANG:话说我在上个界面用了一个UIViewAnimation 点击左上角返回不会影响动画,侧滑返回就会影响这个啥原因....
  • 宁小缺:mark
    让代码飞:@宁缺_勿犯 哥们,这个类该怎么用呢
  • 1485c748362f:第三种方法侧滑的时候一直拖着当前页面来回滑动会导致NaviationBar上面的标题混乱
  • Liberalism:第三种方法利用的runtime,曾经写过,比较复杂。这回有现成的了
    让代码飞:@Liberalism 兄弟,这个类怎么用啊?
  • 十一岁的加重:方法二的确有冲突,项目里集成过,后面也放弃了
    你好牛:@正在爬坡的iOS程序猿 可是系统的 也有bug啊 跟视图滑动 会出bug 你怎么解决的
    正在爬坡的iOS程序猿:@十一岁的加重 我还是很保守的选择了系统提供的方法,也挺好用的
  • 132fb345128d:第三种方法在6s上使用3Dtouch好像会出现crash
  • 郑钦洪_:方法二设置pan方向不就不会出现从右往左也侧滑了吗
    正在爬坡的iOS程序猿:@郑钦洪_ pan是拖动手势,方向只能靠计算坐标判断出来吧?设置方向貌似不行吧?兄台可有代码解决这个问题...

本文标题:iOS侧滑返回三种实现方式及优劣比较

本文链接:https://www.haomeiwen.com/subject/qiclhttx.html