美文网首页
iOS 在rootViewController侧滑手势冲突导致P

iOS 在rootViewController侧滑手势冲突导致P

作者: ShanJiJi | 来源:发表于2017-09-22 19:27 被阅读113次

在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;

}

原文链接:http://www.jianshu.com/p/cbb9ee30e4d0

相关文章

网友评论

      本文标题:iOS 在rootViewController侧滑手势冲突导致P

      本文链接:https://www.haomeiwen.com/subject/feafextx.html