应用程序冻结在ios 8时推或popup
我的应用程序有一个大问题。 主要在iOS 8上,因为我们还没有在其他iOS版本上find这个。
当推送到新的视图控制器或popup到先前的视图控制器时,它有时会冻结。 但奇怪的是,如果你按Home键并从后台启动应用程序。 它会运行一点。 在这里,我的意思是新推或弹出视图控制器出现,但你仍然无法推动或popup新的视图控制器。
更新:当应用程序冻结时,内存,CPU和磁盘使用情况都是正常的。
我们终于解决了这个问题。 原因是当视图控制器堆栈只有一个视图控制器时,我们没有禁用interactivePopGestureRecognizer
。 添加检查将解决问题。 见代码下面。
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animate { if ([self respondsToSelector:@selector(interactivePopGestureRecognizer)]) { if (self.viewControllers.count > 1) { self.interactivePopGestureRecognizer.enabled = YES; } else { self.interactivePopGestureRecognizer.enabled = NO; } } }