UICollectionView细胞反射 - 拍摄细胞快照图像的适当时间



我想将反射添加到集合视图的单元格中。我有一个创建反射的方法,但我不知道创建快照的正确时间。

我曾尝试在集合视图的-viewWillAppear:中执行此操作,但单元格的contentView的子视图具有零大小的框架。我也尝试过在单元格的-layoutSubviews期间拍摄快照,但子视图帧仍然为0。

单元格的布局设置在什么位置,以便我可以拍摄快照?

应在将单元格添加到集合视图后、在单元格由集合视图数据源出列后拍摄快照。这样可以确保快照是最新的,在正确的时刻包含单元格的内容视图(当它即将添加到集合视图时,以及在它刚刚出列之后):

CollectionViewCell.m

- (void)didMoveToSuperview {
    [self updateSnapshotImage];
}

CollectionViewController.m

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;
{
    CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellID" forIndexPath:indexPath];
    [cell updateSnapshotImage];
    return cell;
}

最新更新