当点击后push界面时候,界面没有反应,同时表现出整个界面像是卡住,但是通过层级关系图可以看出来要push界面的view的那些东西都已经出现,这时候可以考虑一下是手势冲突或者view的遮盖,我这边的是因为自定义了UINavigationController,所以设置了系统代理添加右滑退出手势的时候,没有禁用第一个控制器的手势,导致平时操作时候偶现界面卡死,我的解决的方法是在自定义的导航栏控制器里重新push方法和pop方法:
push方法
-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{
self.interactivePopGestureRecognizer.enabled = YES;
viewController.hidesBottomBarWhenPushed = YES;
[super pushViewController:viewController animated:animated];
}
pop方法
- (UIViewController *)popViewControllerAnimated:(BOOL)animated{
self.interactivePopGestureRecognizer.enabled = YES;
return [super popViewControllerAnimated:animated];
}
不管是push或者pop方法都启用了右滑手势,然后在你第一个控制器里设置禁用右滑手势
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
这是我解决的办法,如果有更简单的方法,欢迎指教
解决iOS手势冲突
888

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



