现在开发的APP项目中,如果没有实现侧滑返回的功能,都不好意思拿出来秀~
虽然官方提供了侧滑返回的API,但是很多开发者追求全屏侧滑返回,觉得官方提供的不够用。
想必大多数开发者都知道如何实现侧滑返回,今天,我们就来总结一下。
三种方法:
方法1:系统自带的侧滑返回
方法2:【8行代码教你搞定导航控制器全屏滑动返回效果】 |那些人追的干货
方法3:百度知道团队出品的全屏侧滑返回(github地址)
方法一实现(系统方法):
优点:实现简单,导航控制器中对全体viewController的侧滑功能可控,系统API绝对安全可靠,无手势冲突
缺点:侧滑范围局限于左侧
适用需求:只需左侧小范围触发侧滑时的首选实现方案。
注:以上代码是强制开启,而系统的侧滑是默认开启的,如果在某一界面 hidesBackButton,那么系统是禁止当前界面的侧滑返回。
如果实现了以上代码,属于强制开启,那么就算当前界面hidesBackButton,侧滑功能一样开启,通过上面的代理方法可以做到灵活控制哪个界面是否开启侧滑。
方法二实现(并不完美的全屏侧滑):
优点:最简洁的全屏侧滑实现,导航控制器中对全体viewController的侧滑功能可控
缺点:从右边忘左边划动也能触发侧滑操作,有手势冲突,并不完美。且调用官方私有API
另外:正是缺点的所在,和Cell的侧滑删除手势也是有冲突的,也就是说,免不了需要解决手势的冲突。
适用需求:最好不用,毕竟缺点明显。(不过这个实现思路,确实值得称赞!)
方法三实现(集成最简单、功能最全面):
优点:最全面的全屏侧滑实现,集成超简单,全体viewController的侧滑功能可控,不过得在ViewController内部去控制,稍微麻烦一点;另外,百度知道团队在维护该DEMO,功能会越来越完善,花样更多。
缺点:调用官方私有API(不过已有上线作品,不影响上线,缺点可以忽略!)
适用需求:目前最好的全屏侧滑实现方案。