由于更新到 Xcode 7 和 iOS 9,UICollectionView 冻结了应用程序

Since update to Xcode 7 and iOS 9, UICollectionView freezes the app

我们使用容器和故事板将 UICollectionView 嵌入到 UIViewController 中。

当应用加载并且集合视图正在尝试加载时。该应用程序在没有任何警告或错误的情况下冻结!

相同的代码已在 iOS 8 和 Xcode 6 中运行。具有相同代码的应用程序的生产版本也可在 iOS 9 中运行。

你遇到过类似的问题吗?或者您有什么建议吗?

自上周升级到 XCode 7 以来,我的团队一直在努力解决同样的问题。在我们的例子中,每当我们显示 activity 视图时,我们都会禁用用户交互:

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

然后,在回调块中,我们重新启用用户交互:

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

删除这些调用解决了我们代码中四个问题中的三个;希望它也可以解决您的问题。无论如何,到目前为止,我们还没有想出更好的方法。

此代码在 iOS 6、7 和 8 中运行良好,但由于某些原因它在 iOS 9 中不起作用。iOS 9 发行说明没有提及任何关于这个,并且该方法未标记为 deprecated 所以我们不确定到底发生了什么。我们猜测 Apple 改变了一些内幕,以更严格地执行某些规则,所以也许我们过去能够逃脱的捷径不再有效。如果有人对为什么会发生这种情况有任何想法,我们非常希望听到他们的意见,以便我们更好地理解这个问题。

有趣的是,问题出在自定义 UICollectionViewCell 下的 TextView 和 ImageView 中,它们在更新到 Xcode 7!

之前工作正常

我重新创建了 TextView 和 ImageView,问题已解决!更新后我仍然不确定是什么导致了这个问题。