在 iOS 7 上运行时 UICollectionView 不显示

Posted

技术标签:

【中文标题】在 iOS 7 上运行时 UICollectionView 不显示【英文标题】:UICollectionView not showing when running on iOS 7 【发布时间】:2013-09-20 09:00:59 【问题描述】:

我有一个名为FLProfileViewControllerUIViewController 子类,其中包含一个UICollectionViewFLProfileViewController 的视图作为子视图添加到另一个 UIViewController 的视图中。问题是UICollectionView 不渲染....只有当我从 XCode 5(最终版本)执行代码时。即使从 XCode 5 DP 6 运行相同的项目,UICollectionView 也会被渲染。

更重要的是,当将其视图添加到项目的不同UIViewController 时,实际上会呈现同一类的另一个实例。

调试代码,看到numberOfSectionsInCollectionView:被调用返回1,collectionView:numberOfItemsInSection:被调用返回47。

但是collectionView:cellForItemAtIndexPath:collectionView:layout:sizeForItemAtIndexPath: 没有被调用。

有没有人发现类似的问题?对可能发生的事情有任何想法吗?

【问题讨论】:

显示一些关于您的 customCell 和流布局的信息 collectionView:cellForItemAtIndexPath: 从未被调用,所以我认为自定义单元格与它没有任何关系。顺便说一句,UICollectionViewDelegateFlowLayout 方法也没有被调用。 【参考方案1】:

我发现了问题。

我的UICollectionView 显示在应用程序的第一个屏幕中。为了避免将其显示为空,我有一个假的应用程序启动屏幕,它扩展了默认屏幕。虚假的飞溅显示为presentViewController:animated:completion:,并且在我从服务器接收到数据之前不会消失。

问题似乎是在 ios7 SDK 的最终发布版本中,UICollectionView 如果对用户不可见,则不会呈现。就我而言,我正在渲染UICollectionView,而假的初始屏幕仍在顶部。

正如我所说,我的解决方案适用于 iOS6,而 iOS7 版本随 XCode 5 DP 6 一起提供。

无论如何,这可能对其他人有帮助。

【讨论】:

以上是关于在 iOS 7 上运行时 UICollectionView 不显示的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 6 但不是 iOS 7 上运行时出错

Table Cell 中的 UICollection 视图在 Swift 3 中不显示图像

在 iOS 7 上运行时 UICollectionView 不显示

在 iOS 7 下运行我的 iOS 6 应用程序时,为啥我的视图上没有正确显示阴影?

为啥我的应用在运行 iOS 6 和 iOS 7 时看起来不同?

IOS开发-UICollection实现轮播图片自动循环滚动功能