gpt4 book ai didi

ios - UICollectionView 中的动态单元格高度

转载 作者:行者123 更新时间:2023-11-30 11:59:36 24 4
gpt4 key购买 nike

我有一个自定义的UICollectionViewCell,其中包含许多对象,但总的来说,它需要连接到数据库,获取存储的图像网址并通过附加每个对象来填充UIImageView照片(照片数量是可选的 - 从 1 到 10)到 UIStackView

现在,我得到了一切,除了单元格的高度是硬编码的,所以,它不起作用。但我不确定如何获得尺寸。这是我的代码。

这是高度被硬编码的地方。

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout,   sizeForItemAt indexPath: IndexPath) -> CGSize
{
let width = collectionView.bounds.width
let size = CGSize(width: width, height: 800)
return size
}

这是设置UIImageView的地方。 photoURLs 是从数据库下载的 URL 的数组。

if let photoURLString = post?.photoURLs
{
for urlString in photoURLString
{
let photoURL = URL(string: urlString)
let imageView = UIImageView()
imageView.sd_setImage(with: photoURL)
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
imageView.widthAnchor.constraint(equalTo: postImagesStackView.widthAnchor)
postImagesStackView.addArrangedSubview(imageView)
postImagesStackView.layoutIfNeeded()
}
}

另外,如何在每张照片之间留一点空间?比如 1 分?

最佳答案

我认为您需要计算单元高度。在这种情况下,请在调用重新加载 collectionView 之前对图像高度求和,或者修复 imageView 高度并将图像计数乘以高度。

另一个解决方案是为每个图像创建单元格。您可以使用部分和自定义 Collection View 布局来代替 stackview。

关于ios - UICollectionView 中的动态单元格高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47416390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com