天天看點

iOS7 實作全界面左劃pop手勢

本文完全參考:http://www.jianshu.com/p/d39f7d22db6c 

項目需要實作左劃pop到上一級控制器功能,然後參考了諸位大牛的技術部落格,提煉了使用步驟,僅限于使用。

1.繼承NavigationController,自定義一個導航控制器,遵守協定 UIGestureRecognizerDelegate

2.viewDidLaod中添加如下代碼

    self.interactivePopGestureRecognizer.enabled = NO;//關閉iOS7系統 自帶左側響應手勢

    id target =     self.interactivePopGestureRecognizer.delegate;//拿到執行左側響應手勢的對象

    SEL handleTransition = NSSelectorFromString(@"handleNavigationTransition:");//通過列印得到左側手勢響應後執行的方法是handleNavigationTransition,通過kvc的方式得到該方法

    _pan = [[UIPanGestureRecognizer alloc] initWithTarget:target action:handleTransition];

  _pan.delegate = self;//UIGestureRecognizerDelegate

    [self.view addGestureRecognizer:_pan];//添加手勢

3.添加方法

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

    return self.viewControllers.count != 1 && ![[self valueForKey:@"_isTransitioning"] boolValue];

}