iOS学习笔记: 侧滑手势返回上个界面

iOS7之后系统提供了侧滑手势(interactivePopGestureRecognizer),

即从屏幕左侧边缘滑起会pop回导航控制器栈的上个viewController。

不过如果你自定义了UINavigationViewController或者自定义了返回按钮,系统自带的侧滑返回功能会失效。

 

一个简单的解决办法  ↓↓↓↓

 

 

创建一个 BaseViewController (继承于 UIViewController)

//BaseViewController.m 文件中写以下代码

@interface BaseViewController ()<UIGestureRecognizerDelegate> //声明侧滑手势的delegate

- (void)viewDidLoad {

    [super viewDidLoad];

    //开启iOS7及以上的滑动返回效果

    if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {

        self.navigationController.interactivePopGestureRecognizer.delegate = self;

    }

//UIGestureRecognizerDelegate 重写侧滑协议

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {

    return [self gestureRecognizerShouldBegin];;

}

- (BOOL)gestureRecognizerShouldBegin {

    NSLog(@"~~~~~~~~~~~%@控制器 滑动返回~~~~~~~~~~~~~~~~~~~",[self class]);

    return YES;

}

再创建其它视图控制器的时候继承于该 BaseViewController 即可实现侧滑返回功能。

 

posted @ 2017-03-29 10:43  ❀__wagmeღ  阅读(3334)  评论(0编辑  收藏  举报