iOS自定义返回按钮左滑返回失效问题

iOS开发交流群:480931353(欢迎各位爱专研的iOS开发者加入学习、交流、共享资源)


今天简单谈下iOS的左滑返回


问题一:左滑返回失灵

我们都知道,在iOS7中,系统添加了左滑返回事件,默认情况时开启的,但是一旦自定义了返回按钮,系统的左滑事件就会失灵。


解决方案:

首先在几个一级页面的ViewController里面设置UIGestureRecognizerDelegate代理

在viewDidLoad添加如下代码即可解决问题:

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

        self.navigationController.interactivePopGestureRecognizer.delegate = self;

    }



问题二:一级页面左滑后点击按钮,页面卡死


当你遇到了问题一,并按照问题一得解决方案处理后,会出现在一级页面左滑然后点击按钮,页面卡死的情况,然后你再左滑,你push的这个viewcontroller才回滑出来。


解决方案:

在你添加

self.navigationController.interactivePopGestureRecognizer.delegate = self;

viewcontroller里面实现

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer

代理方法,来控制哪些页面需要左滑,哪些页面不需要左滑

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer

{

//当页面为一级页面时禁止手势

    if (self.navigationController.viewControllers.count == 1)

    {

       returnNO;

    }

      return YES;

}



你可能感兴趣的:(iOS开发)