在第一组UICollectionViewCells上运行方法,但在后续单元格上没有

时间:2016-06-16 07:21:28

标签: swift uitableview uicollectionview uicollectionviewcell

我有一个UICollectionView包含显示相机预览的单元格。我通过故事板在单元格顶部添加了一个黑色UIView作为“面纱”。

当相机预览开始时,我会将UIViewsveil.alpha = 1的所有单元格的面纱veil.alpha = 0设为动画。这样可以平滑相机预览开始的效果。

但是,这意味着当一个单元格被初始化但未添加到视图中时,我必须等到它被添加到视图中才能移除面纱UIView。如果我事先尝试,面纱UIView是零。

结果是,当我滚动时,我瞥见面纱是否为任何尚未预先初始化的细胞动画。

一个简单的解决方案是检查以下内容:

  

“如果此单元格正在滚动到可见性中,并且相机已在运行,则在单元格可见之前,只需设置   veil.alpha = 0“。

但是,我不确定单元/控制器生命周期中的哪个位置。

我已尝试在单元格中的prepareForReuse()layoutSubviews()和包含控制器的cellForItemAtIndexPath中进行设置。所有这三种方法都会导致初始可见单元格的面纱在没有动画的情况下立即跳转到veil.alpha = 0

谢谢。

0 个答案:

没有答案