在 iOS 7 上运行时 UICollectionView 不显示
Posted
技术标签:
【中文标题】在 iOS 7 上运行时 UICollectionView 不显示【英文标题】:UICollectionView not showing when running on iOS 7 【发布时间】:2013-09-20 09:00:59 【问题描述】:我有一个名为FLProfileViewController
的UIViewController
子类,其中包含一个UICollectionView
。 FLProfileViewController
的视图作为子视图添加到另一个 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 不显示的主要内容,如果未能解决你的问题,请参考以下文章
Table Cell 中的 UICollection 视图在 Swift 3 中不显示图像
在 iOS 7 上运行时 UICollectionView 不显示
在 iOS 7 下运行我的 iOS 6 应用程序时,为啥我的视图上没有正确显示阴影?