如何给全局添加滑动返回手势及解除某个界面的滑动返回
展开全部
说到滑动返回手势,我想大家肯定不陌生了,从iOS 7 开始就开始有了,系统默认的是
self.navigationController.interactivePopGestureRecognizer.enabled = YES | NO; 手势有效与否
但是往往我们不会用到系统的,因为我们可能大多数会继承一个导航栏控制器,自己定义全局的导航栏样式,那么系统默认的就不管用了,这时候大家肯定都在熟悉不过了,在写的父类导航栏控制器中,快速的写下如下代码:
// 设置系统的手势返回代理
id target = self.interactivePopGestureRecognizer.delegate;
_pan = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];
[self.view addGestureRecognizer:_pan];
_pan.delegate = self;
//禁用系统的返回手势
self.interactivePopGestureRecognizer.enabled = NO;
self.navigationController.interactivePopGestureRecognizer.enabled = YES | NO; 手势有效与否
但是往往我们不会用到系统的,因为我们可能大多数会继承一个导航栏控制器,自己定义全局的导航栏样式,那么系统默认的就不管用了,这时候大家肯定都在熟悉不过了,在写的父类导航栏控制器中,快速的写下如下代码:
// 设置系统的手势返回代理
id target = self.interactivePopGestureRecognizer.delegate;
_pan = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];
[self.view addGestureRecognizer:_pan];
_pan.delegate = self;
//禁用系统的返回手势
self.interactivePopGestureRecognizer.enabled = NO;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询