解决APP界面卡死Bug

来源:互联网 发布:雅虎域名 编辑:程序博客网 时间:2024/06/06 14:01

在主页左滑,然后点击就会出现卡顿,必现

猜测可能原因

1、底部Tabbar隐藏、显示调用频繁,或者重复调用

2、右划返回手势冲突

研究历程

1、多次使用,发现出现的情况多在一级页面跳转到二级页面,Tabbar卡死,点Home键切换APP到后台,重新打开,右划返回后即可使用

得出结果

1、在RootViewController右划返回手势也可以响应,因为没有上一级页面,导致整个程序页面不响应

APP做出如下修改

在一级页面进入和离开时 分别添加禁用和开启右滑返回手势

-(void)viewDidAppear:(BOOL)animated{

    

    [super viewDidAppear:animated];

    

    [self forbiddenSideBack];

    

}


- (void)viewDidDisappear:(BOOL)animated {

    

    [super viewDidDisappear:animated];

    

    [self resetSideBack];

    

}


//禁用手势

/**

 

 * 禁用边缘返回

 

 */


-(void)forbiddenSideBack{

    

    self.isCanSideBack = NO;

    

    //关闭ios右滑返回

    

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

        

        self.navigationController.interactivePopGestureRecognizer.delegate=self;

        

    }

    

}


/*

 

 恢复边缘返回

 

 */


- (void)resetSideBack {

    

    self.isCanSideBack=YES;

    

    //开启ios右滑返回

    

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

        

        self.navigationController.interactivePopGestureRecognizer.delegate = nil;

        

    }

    

}


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

    

    return self.isCanSideBack;

    

}


原创粉丝点击