Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在第一组UICollectionViewCells上运行方法,但在后续单元格上不运行_Swift_Uitableview_Uicollectionview_Uicollectionviewcell - Fatal编程技术网

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
。如果我事先尝试,则VIEL
UIView
为零

结果是,当我滚动时,我瞥见了任何未事先初始化的单元格的动画

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

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

但是,我不确定在cell/controller生命周期中应该把它放在哪里

我已尝试在单元格中的
prepareforeuse()
layoutSubviews()
和包含控制器中的
cellForItemAtIndexPath
中设置此项。所有这三种方法都会导致初始可见单元格的面纱立即跳转到
veil.alpha=0
,而不显示动画

多谢各位