UICollectionViewCell 阴影导致小滞后
Posted
技术标签:
【中文标题】UICollectionViewCell 阴影导致小滞后【英文标题】:UICollectionViewCell shadow causes small lag 【发布时间】:2015-12-21 22:54:33 【问题描述】:在我的 UICollectionView 中向下滚动时,它会滞后,这是由以下原因引起的:
imageCell?.backgroundColor = UIColor.whiteColor()
imageCell?.layer.masksToBounds = false
imageCell?.layer.shadowOpacity = 0.5
imageCell?.layer.shadowRadius = 5.0
imageCell?.layer.shadowOffset = CGSizeZero
imageCell?.layer.shadowColor = UIColor.grayColor().CGColor
imageCell 是单元格名称:
let imageCell = collectionView.dequeueReusableCellWithReuseIdentifier("imageCell", forIndexPath: indexPath) as? CollectionViewCell
有什么建议吗?
【问题讨论】:
您是在 Interface Builder 中创建了一个标识符为 imageCell 的单元格,还是全部在代码中完成? @Jay 单元格是在 Interface Builder 中创建的,是的。 您找到解决方案了吗?我遇到了类似的问题 @JayVDiyk 我删除了阴影。没有阴影看起来也更专业。 【参考方案1】:使用阴影时,如果您知道形状,最好指定shadowPath
。
imageCell?.layer.shadowPath = UIBezierPath(rect: imageCell?.frame ?? CGRectZero).CGPath
Apple mentions
指定显式路径通常会提高渲染性能。
【讨论】:
【参考方案2】:我在使用太大的图像时遇到了同样的问题。然后我转换为 .png 并使它们更小 - 这很有帮助。 (不确定您是否使用任何图像)。
但真正发挥作用的是光栅化
cell.layer.shouldRasterize
【讨论】:
以上是关于UICollectionViewCell 阴影导致小滞后的主要内容,如果未能解决你的问题,请参考以下文章
向 UICollectionViewCell 添加圆角和阴影
如何使用清晰的背景颜色向 UICollectionViewCell 添加阴影?
UICollectionViewCell 阴影与装饰视图不一致