并非所有单元格都显示在 CollectionViewController Swift 中
Posted
技术标签:
【中文标题】并非所有单元格都显示在 CollectionViewController Swift 中【英文标题】:Not all cells are shown in a CollectionViewController Swift 【发布时间】:2018-03-06 12:05:16 【问题描述】:我目前正在开发一个元素周期表并显示我正在使用集合视图的表。元素周期表有 118 个元素,我试图将它们全部显示在同一页面中,但是当我在模拟器上运行应用程序时,只显示 77 个单元格。
这是我在 Swift 文件中使用的代码:source code
我想知道如何在同一屏幕上显示所有单元格。我在网上搜索,但找不到任何东西。
【问题讨论】:
我看到了你的代码......我请求你不要那样做...... 为什么要为单元格设置框架? 试试参考github.com/robertmryan/PeriodicTable/tree/master/PeriodicTable 【参考方案1】:步骤: 1.首先数一下你的元素周期表中的项目或元素的数量,即将整个框架划分为网格,看看有多少小方块。
现在为您的元素创建一个模态,例如,对于第一项 Hydrogen,它进入 [Datamodel] 数组 0 索引,而对于下一个 16 数组元素,它的空对象因为没有元素.. 以这种方式创建你的模态
现在创建您的collectionview单元格并使用您的模态填充数据,其中数据为空白对象显示黑色图像,对于那些有元素的,分别显示
现在对于每个元素的大小,有一个 UICollectionViewDelegateFlowLayout 方法
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize
let width = self.collectionview.frame.size.width/18 as there are 18 columns
return CGSize(width: width, height: width)
这样,您的所有单元格都将在水平视图中可见.. 但在横向模式下,所有单元格可能都不可见,例如具有 58、59 的元素
所以对于你需要做的每个元素的高度
let height = height/9 as there are 9 rows
但是这样,你。可能不会得到方形单元格
【讨论】:
以上是关于并非所有单元格都显示在 CollectionViewController Swift 中的主要内容,如果未能解决你的问题,请参考以下文章