我的应用有一个大问题。主要在iOS 8上,因为我们还没有在其他iOS版本上找到它。
当推送到新视图控制器或弹出到前一个视图控制器时,它有时会冻结。但奇怪的是,如果你按下主页按钮并从后台启动应用程序。它会运行一点。在这里,我的意思是新推出或弹出的视图控制器出现,但你仍然无法推或弹出新的视图控制器。
更新 当应用程序冻结时,内存,CPU和磁盘使用情况都正常。
答案 0 :(得分:19)
我们终于解决了这个问题。原因是当视图控制器堆栈只有1个视图控制器时,我们没有禁用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;
}
}
}