CollectionView单元格大小限制

时间:2016-12-26 23:36:22

标签: ios swift xcode uicollectionview

我有一个垂直流采集视图,除了单元格大小外,所有内容都限制在自动布局中。

集合视图被约束到屏幕的两侧,图像和文本被约束在自定义单元格内。但我似乎无法将单元格约束到集合视图,因此当我更改设备大小时,单元格的大小与创建它的屏幕大小相同。

任何方式?

1 个答案:

答案 0 :(得分:1)

更改单元格的大小应通过实施collectionView(_:layout:sizeForItemAt:)来确定:

  

向代表询问指定项目单元格的大小。

很明显,您的ViewController应符合UICollectionViewDelegateFlowLayout

那么,你能做什么 - 例如 - :

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    let screenSize: CGRect = UIScreen.main.bounds
    return CGSize(width: screenSize.width / 2, height: screenSize.height / 2)
}

这应该使单元格的大小为:它的大小等于屏幕大小的一半,高度等于屏幕大小的一半,无论设备是什么......

希望这会有所帮助。