前言
对于iOS用户来说,右滑返回是一个比较常见的。那么对于一个开放者来说,怎么去实现?其中又有哪些坑呢?
目前的侧滑效果有两种:
1.边缘触发侧滑(苹果原生)
2.全屏触发侧滑
而实现目前有三种方式:
1.系统自带(不自定义导航)
2.使用系统动画去实现
3.自定义导航,默认开启系统的返回手势
参考文章:
iOS侧滑返回的三种实现方式
正文
至于两种侧滑效果孰好孰坏没有办法说,这就需要根据公司的产品需求去衡量。
对于全屏手势的最简便的实现方式就是定义一个全屏手势,其实现方式还是去取系统的左滑手势(@select(handleNavigationTransition:))实现。
重点坑
坑点一
Bug描述:当app集成了侧滑返回手势,在根目录侧滑手势,再任意点击push新的控制器,页面卡死。
解决过程:用view去分层查看会看到新控制器是push出来的。但页面上却没有。
解决方法:禁用根目录下的侧滑手势。
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
if ( gestureRecognizer == self.interactivePopGestureRecognizer )
{
UIViewController *vc = self.viewControllers.lastObject;