自定义全屏右滑返回手势

系统自带的右滑返回只有从边缘才有效,而我们希望从屏幕任何地方都可以右滑返回。

在基类导航控制器BaseNavigationController里面做处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 获取系统自带滑动手势的target对象
id target = self.interactivePopGestureRecognizer.delegate;

// 创建全屏滑动手势,调用系统自带滑动手势的target的action方法
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];

// 设置手势代理,拦截手势触发
pan.delegate = self;

// 给导航控制器的view添加全屏滑动手势
[self.view addGestureRecognizer:pan];

// 禁止使用系统自带的滑动手势
self.interactivePopGestureRecognizer.enabled = NO;

效果图

screenshot.gif

Demo:
https://github.com/guanzhendong/ScreenEdgePanGestureDemo


自定义全屏右滑返回手势
http://example.com/2016/11/15/自定义全屏右滑返回手势/
作者
guanzhendong
发布于
2016年11月15日
许可协议