好的。我的 Collectionview 工作正常。但我想稍微改变一下我的布局。 我有一个包含不同数字的数组, array.count = 5 也是,我需要连续 5 个项目。 我不知道如何在我的 Collectionview 中显示它。
感谢您的帮助。
更新:
现在每一行都是例如 6 !
但我不知道如何处理数字数组!
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
let numberOfCellInRow : Int = 6
let padding : Int = 1
let collectionCellWidth : CGFloat = (self.view.frame.size.width/CGFloat(numberOfCellInRow)) - CGFloat(padding)
return CGSize(width: collectionCellWidth, height: 200)
}
最佳答案
实现 sizeForItemAtIndexPath 是 UICollectionViewDelegateFlowLayout 协议(protocol)的一部分,是如何动态设置 UICollectionViewCell 的尺寸(即在运行时)。
在 sizeForItemAtIndexPath 中,创建一个 CGSize 对象,它是您希望每个 UICollectionViewCell 的大小,并简单地使用该对象作为函数的返回值。在您的示例中,该 CGSize 对象的宽度大约是主视图的宽度除以 5。我说大约是因为您还需要在单元格之间填充空间,以及可能在每个部分周围的一些非零 sectionInsets UICollectionView。
要设置单元格之间的填充,请转到 Storyboard中 UICollectionView 对象的属性检查器 Pane ,并将属性 Pane 置于“测量模式”。您会看到“最小间距”,“对于单元格”和“对于行”。 “对于单元格”字段是您可以指定单元格之间所需的水平间距的地方。在“For Lines”字段中,您可以指定单元格之间的垂直间距。
关于swift - 连续包含不同项目的 Collectionview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39375728/