Swift 在第一组UICollectionViewCells上运行方法,但在后续单元格上不运行
我有一个Swift 在第一组UICollectionViewCells上运行方法,但在后续单元格上不运行,swift,uitableview,uicollectionview,uicollectionviewcell,Swift,Uitableview,Uicollectionview,Uicollectionviewcell,我有一个UICollectionView包含显示相机预览的单元格。我通过故事板在单元格顶部添加了一个黑色的UIView作为“面纱” 当摄影机预览开始时,我将所有单元格的面纱ui视图从view.alpha=1设置为view.alpha=0。这将平滑摄影机预览开始时的效果 但是,这意味着当单元格被初始化但未添加到视图中时,我必须等到它被添加到视图中,才能移除面纱UIView。如果我事先尝试,则VIELUIView为零 结果是,当我滚动时,我瞥见了任何未事先初始化的单元格的动画 一个简单的解决方案是检
UICollectionView
包含显示相机预览的单元格。我通过故事板在单元格顶部添加了一个黑色的UIView
作为“面纱”
当摄影机预览开始时,我将所有单元格的面纱ui视图
从view.alpha=1
设置为view.alpha=0
。这将平滑摄影机预览开始时的效果
但是,这意味着当单元格被初始化但未添加到视图中时,我必须等到它被添加到视图中,才能移除面纱UIView
。如果我事先尝试,则VIELUIView
为零
结果是,当我滚动时,我瞥见了任何未事先初始化的单元格的动画
一个简单的解决方案是检查以下内容:
“如果此单元格正在滚动至可见状态,并且相机已在运行,则在该单元格可见之前,只需设置
veil.alpha=0
”
但是,我不确定在cell/controller生命周期中应该把它放在哪里
我已尝试在单元格中的prepareforeuse()
、layoutSubviews()
和包含控制器中的cellForItemAtIndexPath
中设置此项。所有这三种方法都会导致初始可见单元格的面纱立即跳转到veil.alpha=0
,而不显示动画
多谢各位