在集合视图中显示长单元格(如矩形)的问题

Posted

技术标签:

【中文标题】在集合视图中显示长单元格(如矩形)的问题【英文标题】:Issue with displaying a long cell(like a rectangle) in a collection view 【发布时间】:2017-08-19 06:17:12 【问题描述】:

我想显示一个看起来像这样的集合视图图像......

在这里,您可以看到整个单元格是一个矩形,图像下方有文本和按钮的空间。我无法在我的收藏视图中加载这样一个“矩形”形状的单元格。任何帮助将不胜感激。

提前谢谢...:)

【问题讨论】:

你得到什么结果? 你试过什么?请出示代码 我已经用图像加载了集合视图,但图像显示为方形而不是矩形。如果我删除前导、尾随约束并给出高度、宽度、水平居中、垂直居中等约束,则图像将变为矩形,但每个图像之间的间距大于所需的空间,而它们应该彼此靠近.. 实现"sizeforitem"的方法可以定义单元格的宽高 【参考方案1】:

要设置集合视图的项目大小,您可以实现此UICollectionViewDelegateFlowLayout 方法

func collectionView(_ collectionView: UICollectionView,
                    layout collectionViewLayout: UICollectionViewLayout,
                    sizeForItemAt indexPath: IndexPath) -> CGSize 
    return CGSize(width: 30, height: 100)

【讨论】:

【参考方案2】:

您的问题不是很清楚,因为它没有显示您的代码或您得到的结果。但它安静简单 要自定义单元格大小,请使用以下代码并相应地传递宽度和高度

func collectionView(_ collectionView: UICollectionView,
                layout collectionViewLayout: UICollectionViewLayout,
                sizeForItemAt indexPath: IndexPath) -> CGSize 
return CGSize(width: accordingly to your requirement, height: accordingly to your requirement)

请查看此链接,该链接可以详细解释每一点。并使用不同的值来获得所需的结果。

Custom cell collectionview

【讨论】:

感谢@cole 的回答和链接。实际上,我发现了这个问题......在 viewDidLoad 中设置集合视图时,我已将 layout.itemsize 中的宽度和高度指定为宽度/2 和宽度/2。这导致了问题...高度因子不应该除以 2。 很高兴你知道了。仅供参考,以后粘贴您的代码或结果,您将获得更好的帮助和答案

以上是关于在集合视图中显示长单元格(如矩形)的问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 在集合视图单元格及其下方的视图周围添加边框

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

集合视图单元格显示

如何在通过文本字段和圆形矩形按钮提供的表格视图单元格中显示数据

在集合视图中显示两个不同的单元格 - Swift 2.0 iOS

如何在要删除的单元格上使用 longtapGesture 从集合视图中删除 uicollectionviewcell?迅速