我想在我的收藏视图的细胞中添加反射。我有创建反射的方法,但我不知道创建快照的正确时间。
我尝试在集合视图中查看-viewWillAppear :,但是单元格的contentView的子视图的大小为零。我还尝试在单元格的-layoutSubviews中拍摄快照,但子视图帧仍为0。
单元格的布局在什么时候设置,以便拍摄快照?
答案 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;
}