如何在单元格大小更改后自动调整 CollectionViewCell 中内容的大小?

How to auto resize contents in CollectionViewCell after the cell's size changed?

在 Xcode 中,我创建了一个 UICollectionView 并将一些标签拖到 UICollectionViewCell。问题是在更换设备时,单元格不会根据屏幕尺寸调整其大小。所以我实现了以下代码:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout

layout.sectionInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)

return CGSize(width: self.collectionView.frame.width * 0.9, height:self.collectionView.frame.height *0.8)   

}

在此之后,我注意到单元格的大小确实发生了变化。但是,单元格内标签的宽度和高度保持不变。

我不确定如何解决这个问题。

提前感谢您的帮助!!

设置标签约束,

喜欢,

for Constraint pic.

your label pic.

或者您也可以使用 UI 属性 autoresizingMask

喜欢,

yourLbl.autoresizingMask = [.flexibleWidth, .flexibleHeight]