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

时间:2017-02-15 08:51:34

标签: ios swift

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

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

修改

单元格的自动布局具有固定的宽度和高度。我通过设置estimatedItemSize并将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

1 个答案:

答案 0 :(得分:1)

UICollectionViewCell没有dt1 <- as.data.table(dat) 。你为什么期望它有一个?

  • 如果您想知道此时此单元格的大小,请询问其intrinsicContentSize

  • 如果您想知道如果单元格的子视图的自动布局限制从内部调整大小将采用的大小,请调用bounds.size