[英]How to resize UICollectionViewCell based on device screen
我有一个带有自定义单元格的 UICollectionView,但是,我试图对 UICollectionView 施加约束,因此它始终是屏幕宽度的一半和屏幕高度的一半。 我经常遇到的一个问题是,虽然 UICollectionView 根据应用程序部署的设备而变化,但 UICollectionViewCells 保持完全相同的像素宽度和高度尺寸。 这是我尝试实现的代码,以使每个单元格与 CollectionView 具有相同的高度和宽度。
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let height = collectionView.frame.height
let width = collectionView.frame.width
return CGSize(width: width, height: height)
}
但是,此代码不起作用,因为单元格的大小只是在 UICollectionView 的大小检查器中指定的值。
我无法弄清楚我的代码在这里做错了什么。 非常感谢您的帮助。
问题是您的集合视图单元格大小始终是固定的。 所以单元格大小不会根据屏幕大小调整。使用视图框架大小。(从大小检查器中删除值)
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: view.frame.width, height: view.frame.height)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.