我有一个UICollectionView
包含显示相机预览的单元格。我通过故事板在单元格顶部添加了一个黑色UIView
作为“面纱”。
当相机预览开始时,我会将UIViews
到veil.alpha = 1
的所有单元格的面纱veil.alpha = 0
设为动画。这样可以平滑相机预览开始的效果。
但是,这意味着当一个单元格被初始化但未添加到视图中时,我必须等到它被添加到视图中才能移除面纱UIView
。如果我事先尝试,面纱UIView
是零。
结果是,当我滚动时,我瞥见面纱是否为任何尚未预先初始化的细胞动画。
一个简单的解决方案是检查以下内容:
“如果此单元格正在滚动到可见性中,并且相机已在运行,则在单元格可见之前,只需设置
veil.alpha = 0
“。
但是,我不确定单元/控制器生命周期中的哪个位置。
我已尝试在单元格中的prepareForReuse()
,layoutSubviews()
和包含控制器的cellForItemAtIndexPath
中进行设置。所有这三种方法都会导致初始可见单元格的面纱在没有动画的情况下立即跳转到veil.alpha = 0
。
谢谢。