【问题标题】:UICollectionViewLayout Not Resizing UIImageViews Within Cells [duplicate]UICollectionViewLayout 未在单元格内调整 UIImageViews 的大小 [重复]
【发布时间】:2020-03-18 16:04:12
【问题描述】:

我的 collectionview 图像未调整大小。我在包含集合视图的视图控制器中使用以下内容,并且当单元格为空时它的大小正确;但是,如果里面有一个 imageview,它的行为就不正常了。

谢谢!

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

    let noOfCellsInRow = 2
    let flowLayout = collectionViewLayout as! UICollectionViewFlowLayout
    let totalSpace = flowLayout.sectionInset.left
        + flowLayout.sectionInset.right
        + (flowLayout.minimumInteritemSpacing * CGFloat(noOfCellsInRow - 1))
    let size = Int((collectionView.bounds.width - totalSpace) / CGFloat(noOfCellsInRow))
    return CGSize(width: size, height: size)

}

【问题讨论】:

    标签: swift uicollectionview autolayout


    【解决方案1】:

    将此添加到您的 ViewController

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        collectionView.collectionViewLayout.invalidateLayout()
    }
    

    Storyboard 中检查集合视图 - Estimate SizeSize Inspector 中是否设置为None

    【讨论】:

    • 试过了;似乎没有改变问题。
    • 在情节提要中检查集合视图 - Estimate Size 在 Size Inspector 中是否设置为 None
    • 就是这样;谢谢你!为什么这会改变事情?
    • @moosgrn 很乐意提供帮助,不幸的是我没有这个解释
    • 对于它的价值,我不知道 .invalidateLayout() 是否做了很多,但 Estimate Size 确实做了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-09-28
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    相关资源
    最近更新 更多