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