自定义UINavgationController
2018-08-06 本文已影响7人
英雄出少年
- 滑动返回手势
+ 导航控制器ios7后自带
分析:覆盖掉系统的返回按钮,滑动返回功能消失
需求:既要覆盖掉系统的返回按钮,也要有滑动返回功能
why 滑动返回功能没有了
分析:滑动返回需要手势 interactivePopGestureRecognizer
//系统手势
self.interactivePopGestureRecognizer.delegate = self;
// 如果返回no,表示不触发这个手势
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
// 只有非跟控制器才能拥有滑动返回功能
return self.childViewControllers.count != 1;
}
//全屏滑动
id target = self.interactivePopGestureRecognizer.delegate;
//
// NSLog(@"%@",target);
self.interactivePopGestureRecognizer.enabled = NO;
// 借用系统的滑动手势的功能,当触发自己的滑动手势的时候,调用系统的滑动返回功能
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];
pan.delegate = self;
[self.view addGestureRecognizer:pan];