您的位置:首页 > 移动开发 > IOS开发

iOS开发 PushViewController卡死或者popViewController时候卡死的可能原因之一

2018-01-24 10:43 525 查看
当点击后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;

这是我解决的办法,如果有更简单的方法,欢迎指教
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐