iOS DeveloperIOS

自定义全屏右滑返回手势

2016-11-15  本文已影响85人  CodeGeass

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

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

// 获取系统自带滑动手势的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

上一篇下一篇

猜你喜欢

热点阅读