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

现在开发的APP项目中,如果没有实现侧滑返回的功能,都不好意思拿出来秀~
虽然官方提供了侧滑返回的API,但是很多开发者追求全屏侧滑返回,觉得官方提供的不够用。
想必大多数开发者都知道如何实现侧滑返回,今天,我们就来总结一下。
三种方法:
方法1:系统自带的侧滑返回
方法2:【8行代码教你搞定导航控制器全屏滑动返回效果】 |那些人追的干货

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

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

方法一实现截图.jpeg

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

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

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

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

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


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

方法二实现截图.jpeg

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

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

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

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


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

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

使用截图.jpeg

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

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

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


以上为亲测后的感受,希望对大家有所帮助!如果帮你解决了问题或者提供一些思路的话麻烦给个小心鼓励一下,回见~