美文网首页
iOS侧滑页面返回

iOS侧滑页面返回

作者: goodthing | 来源:发表于2017-05-23 20:52 被阅读433次

今天要介绍的是一种最简单的返回方式:看下图

侧滑返回.gif
@interface UIViewController ()<UIGestureRecognizerDelegate>
     id target = self.navigationController.interactivePopGestureRecognizer.delegate;
 // handleNavigationTransition:为系统私有API,即系统自带侧滑手势的回调方法,我们在自己的手势上直接用它的回调方法
    UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];
    panGesture.delegate = self; // 设置手势代理,拦截手势触发
    [self.view addGestureRecognizer:panGesture];
// 一定要禁止系统自带的滑动手势
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;

最后:

// 什么时候调用,每次触发手势之前都会询问下代理方法,是否触发
// 作用:拦截手势触发
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
    // 当当前控制器是根控制器时,不可以侧滑返回,所以不能使其触发手势
    if(self.navigationController.childViewControllers.count == 1)
    {
        return NO;
    }
    
    return YES;
}

- (void)handleNavigationTransition:(UIGestureRecognizer *)ges{
    
}

相关文章

网友评论

      本文标题:iOS侧滑页面返回

      本文链接:https://www.haomeiwen.com/subject/qljgxxtx.html