如何在单元格大小更改后自动调整 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]
在 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]