uicollectionview 动态高度但固定宽度

Posted

技术标签:

【中文标题】uicollectionview 动态高度但固定宽度【英文标题】:Uicollection view dynamic height but fixed width 【发布时间】:2020-02-13 14:00:56 【问题描述】:

我正在使用 UICollectionView 我有 4 种不同类型的单元格。每个单元格都是在 xib 文件中设计的。当我将它们加载到集合视图中时,它会离开屏幕。我不知道为什么会这样。有些单元格具有固定高度,而有些单元格具有动态高度(取决于来自 API 的数据)。那么有没有可能的方法来解决这个问题。 我试过自动估计大小到动态

override func awakeFromNib() 
    super.awakeFromNib()
    self.contentView.translatesAutoresizingMaskIntoConstraints = false
    let screenwidth = UIScreen.main.bounds.size.width
    widthAnchor.constraint(equalToConstant: screenwidth-20)


func setSize () 
    let layout = mainCollection.collectionViewLayout as! UICollectionViewFlowLayout
    layout.sectionInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)

【问题讨论】:

awakeFromNib() 被调用了吗?在其中添加print("awake") 声明以进行确认。 你可以签入Size Inspector 并使用Autoresizing 红色箭头/线条吗? 是的,我试过了,但对视图没有影响 【参考方案1】:

试试这个!

let screenWidth = self.CollecionView.frame.width

【讨论】:

以上是关于uicollectionview 动态高度但固定宽度的主要内容,如果未能解决你的问题,请参考以下文章

尝试通过使用 UICollectionViewCompositionalLayout 实现固定高度、动态宽度(包装内容)水平 UICollectionView 的单元格

将单元格高度固定到 UICollectionView 高度

UICollectionView 自动高度

自定义 UITableViewCell 的动态高度问题

如何在保持宽高比的同时将图像调整为固定的宽度和高度?

嵌套垂直 UICollectionView 和动态高度