自定义UINavigationController有时会有卡机情况!

    在项目中,由于导航上面左边和右边按钮需自定义,为全局通用,便自定义了UINavigationController导航。可在app使用过程中,有时总会出现卡机情况,但大部分时间不会出现,出现卡机后按home键退出后,再进入app就到了之前点击的界面。不闪退,也无异常。所以该问题找起来特别麻烦,没办法只能一个个去排除。之前不知是自定义导航问题,排除了好几个原回,开始以为是环信把主线程堵死了,后来发现不是。后面以为是列表加载图片导致,发现也不是。问过一些朋友,有的说的自动布局问题,有的说是手势问题.......

    经过跟之前版本对比,才锁定是自定义导航手势问题。在自定义导航中实现UIGestureRecognizerDelegate代理。实现gestureRecognizerShouldBegin方法。代码如下:

@interface ADNavigation2Controller : UINavigationController<UIGestureRecognizerDelegate,UINavigationControllerDelegate>

@end

 

//TODO 解决手势卡顿现象
- (BOOL) gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{
    if (gestureRecognizer == self.interactivePopGestureRecognizer) {
        return (adBaseViewController == self.topViewController);
    }
    return YES;
}

 

猜你喜欢

转载自wenxin2009.iteye.com/blog/2229217
今日推荐