繁体   English   中英

如何根据设备屏幕调整 UICollectionViewCell 的大小

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM