为什么单元格的孩子的高度在滚动过程中会发生变化?

Why cell's childs' height changes during scrolling?

使用 UIController(使用新信息重用单元格 - 另一个模型 class 实例)和自定义 UICollectionViewCell 在滚动期间(用手指从上到下)单元格标签的高度变化从 54.0 到 84.5(见输出)

为什么会这样?

测试代码

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MyItemCollectionViewCell", for: indexPath) as! MyItemCollectionViewCell

    print("uilabel height \(cell.mylabel.frame.height)")

    return cell
}

输出

uilabel height 54.0
uilabel height 54.0
uilabel height 54.0
uilabel height 54.0
uilabel height 54.0
uilabel height 54.0
uilabel height 54.0
uilabel height 84.5
uilabel height 84.5
uilabel height 84.5
uilabel height 84.5

单元格

class MyItemCollectionViewCell: UICollectionViewCell {

    @IBOutlet var mylabel: UILabel!

    func setItem(_ item: MyItem) {
        mylabel.text = item.name
    }
}

我认为这可能是重绘屏幕时的问题,集合视图不是 reloaded.It 看起来像这样 post .