猜测可能原因
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;
}