swift - 具有恒定高度和动态宽度的 UICollectionView 单元格取决于 UIImageView 宽度
问题描述
如何根据图像视图设置集合视图单元格宽度。我已经尝试使用下面的代码,但所有单元格的宽度都是相同的。我已将图像视图的高度约束设置为 100,宽度约束 >= 50,并将内容模式设置为宽高比合适。
if let flowLayout = itemOfferCollectionView.collectionViewLayout as? UICollectionViewFlowLayout { flowLayout.estimatedItemSize = UICollectionViewFlowLayout.automaticSize }
解决方案
我已经为布局设置了这个设置,以使其成为 selfSizing
let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.estimatedItemSize = UICollectionViewFlowLayout.automaticSize
您还必须像这样在单元格中设置 contentView 和 imageView 的约束
contentView.topAnchor.constraint(equalTo: topAnchor).isActive = true
contentView.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true
contentView.trailingAnchor.constraint(equalTo: trailingAnchor).isActive = true
contentView.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
imageView.topAnchor.constraint(equalTo: topAnchor, constant: 0).isActive = true
imageView.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true
imageView.trailingAnchor.constraint(equalTo: trailingAnchor).isActive = true
imageView.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
推荐阅读
- javascript - 如何在javascript ajax函数中显示记录更新数据直到下一个事件?
- r - 在 Surv(start_time, end_time, new_death) 中:停止时间必须 > 开始时间,创建了 NA
- etl - Talend Open Studio:带分号的分隔文件和带引号的标题
- awk - 使用 sed 或 awk 更改字符串
- c - C - 循环后释放字符串
- jquery - Bootstrap 4 和“折叠”功能的问题
- javascript - Vue:更改 v-model 中使用的数据属性的值不会呈现新设置的值
- c# - 如何使用 2D SpriteShape 解决统一 2019.1.0f2 错误?
- c# - Entity Framework Core: `SqlNullValueException: Data is Null.` 如何排查?
- sql - SQL : 检索过去一周添加的前 7 个条目