gpt4 book ai didi

ios - Swift3 - UICollectionViewCel 的 intrinsicContentSize 是 (-1, -1)

转载 作者:行者123 更新时间:2023-11-28 15:51:30 25 4
gpt4 key购买 nike

当我尝试在函数 collectionView(_:didSelectItemAt:) 中获取单元格的 intrinsicContentSize 时,结果是 (-1, -1)。

我正在使用流布局和单元格 subview 的自动布局配置,并且没有实现 collectionView(_:layout:sizeForItemAt:)。有没有人有想法?

编辑:

单元格的自动布局具有固定的宽度和高度。我通过设置 estimatedItemSize 打开了 self 调整大小,并将 collectionView 配置如下:

self.collectionView.delegate = self
self.collectionView.dataSource = self
if let layout = self.collectionView.collectionViewLayout as?
UICollectionViewFlowLayout {
layout.estimatedItemSize = CGSize(width: 100, height: 100)
}

然后我尝试在以下位置获取单元格的 intrinsicContentSize:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let cell = collectionView.cellForItem(at: indexPath)
let size = cell?.intrinsicContentSize
}

它给了我 (-1, -1)size

最佳答案

UICollectionViewCell 没有intrinsicContentSize。你为什么期望它有一个?

  • 如果您想知道此时单元格的大小,只需询问它的bounds.size即可。

  • 如果您想知道如果单元格的大小是根据其 subview 的自动布局约束从内部调整大小的,请调用 systemLayoutSizeFitting(_:)

关于ios - Swift3 - UICollectionViewCel 的 intrinsicContentSize 是 (-1, -1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42244596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com