UICollectionViewCell反射 - 获取单元格快照图像的适当时间

时间:2013-07-01 13:01:14

标签: uicollectionview snapshot uicollectionviewcell

我想在我的收藏视图的细胞中添加反射。我有创建反射的方法,但我不知道创建快照的正确时间。

我尝试在集合视图中查看-viewWillAppear :,但是单元格的contentView的子视图的大小为零。我还尝试在单元格的-layoutSubviews中拍摄快照,但子视图帧仍为0。

单元格的布局在什么时候设置,以便拍摄快照?

1 个答案:

答案 0 :(得分: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;
}