集合视图单元大小/拟合问题

Posted

技术标签:

【中文标题】集合视图单元大小/拟合问题【英文标题】:Collection View Cell Size/Fitting issue 【发布时间】:2018-02-15 13:09:47 【问题描述】:

我正在 swift 4 中开发 ios 应用程序。我已经实现了集合视图,并且前面有两个单元格,如图所示:

当我在更大的屏幕尺寸(如 iPhone 6/7/8 Plus)上运行我的应用程序时,它会显示两个完整的单元格和半个单元格。我想要实现的是它在每个屏幕尺寸前显示两个单元格,请帮助。

【问题讨论】:

寻找optional func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize developer.apple.com/documentation/uikit/… How to set UICollectionViewCell Width and Height programmatically的可能重复 试试这个: func collectionView(_ collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeForItemAt indexPath: IndexPath) -> CGSize return CGSize(width: collectionView.frame.size.width , height:collectionView. frame.size.height/2) 试过这段代码但没有成功。一切都保持不变。 【参考方案1】:

在你的 ViewController 中实现UICollectionViewDelegateFlowLayout 协议,然后实现:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize 
    let cellSize = //calculate cell size based on the width of the view and padding between cells
    return cellSize

查看documentation 中的UICollectionViewDelegateFlowLayout 并实现其方法来修改单元格之间的间距。

【讨论】:

以上是关于集合视图单元大小/拟合问题的主要内容,如果未能解决你的问题,请参考以下文章

自调整大小集合视图单元格大小问题

当边界 UICollectionView 更改时调整单元格大小

动态集合视图单元格大小目标c?

集合视图单元格不会改变大小

在不同设备上动态设置集合视图单元格大小

集合视图第一个单元格大小问题