自定义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];

上一篇下一篇

猜你喜欢

热点阅读