在重复使用单元格之前,集合视图单元子视图框架不可用

时间:2018-05-16 03:10:45

标签: swift uicollectionview uicollectionviewcell

我有一个包含子视图的集合视图单元格,我试图获取与superview相关的框架。

到目前为止,我已成功获取子视图的帧,但是对于前x个可见单元的数量,返回的帧总是(0,0,0, 0)。

在我将它们滚出视图并向后滚动回那些x单元格后,返回的帧很好,并且子视图的帧被正确计算。

有什么想法吗?

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

    let window = UIApplication.shared.keyWindow

    let selectedCell = self.collectionView(self.cellCollectionView, cellForItemAt: indexPath) as! postCell

    let photoItem = selectedCell.photo
    let photoItemPosition = photoItem.frame

    let convertedFrame = selectedCell.convert(photoItemPosition, to: window)

    print(photoItemPosition)
    print(convertedFrame)
}

1 个答案:

答案 0 :(得分:0)

您必须更新zbinsearch()个实例的框架。 覆盖collectionView单元类中的photo

layoutSubviews