【问题标题】:How to auto resize contents in CollectionViewCell after the cell's size changed?如何在单元格大小更改后自动调整 CollectionViewCell 中的内容大小?
【发布时间】:2016-12-11 18:15:41
【问题描述】:

在 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)   

}

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

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

提前感谢您的帮助!!

【问题讨论】:

  • 设置标签相对于单元格的约束以使其灵活。如果您想要更合适的答案,请向我们展示您希望标签放置方式的确切图像。

标签: ios swift autolayout uicollectionview uicollectionviewcell


【解决方案1】:

设置标签的约束,

喜欢,

for Constraint pic.

your label pic.

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

喜欢,

yourLbl.autoresizingMask = [.flexibleWidth, .flexibleHeight]

【讨论】:

    猜你喜欢
    • 2021-09-28
    • 2013-05-26
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多