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 即可实现侧滑返回功能。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM