解决APP界面卡死Bug

猜测可能原因

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;

}


你可能感兴趣的:(iOS)