转载自:https://blog.youkuaiyun.com/weixin_34303897/article/details/87421982
在RootViewController右划返回手势也可以响应,因为没有上一级页面,导致整个程序页面不响应,当页面从A跳转到B页面时,偶尔会卡死。我以为是b页面的viewdidload做的事情太多了,也做了简化,包括加上线程处理。
后来发现,压根不是这回事,即使跳到超级简单的页面也会卡。当按下home键,再次点开app时,又能跳到b页面了。
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应用中遇到的右滑返回手势导致页面卡顿的问题及解决方案。通过在页面进入和离开时禁用和启用右滑返回手势,有效解决了程序卡顿现象,提升了用户体验。
6315

被折叠的 条评论
为什么被折叠?



