我有一个垂直流采集视图,除了单元格大小外,所有内容都限制在自动布局中。
集合视图被约束到屏幕的两侧,图像和文本被约束在自定义单元格内。但我似乎无法将单元格约束到集合视图,因此当我更改设备大小时,单元格的大小与创建它的屏幕大小相同。
任何方式?
答案 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)
}
这应该使单元格的大小为:它的大小等于屏幕大小的一半,高度等于屏幕大小的一半,无论设备是什么......
希望这会有所帮助。