gpt4 book ai didi

ios - UICollectionView 中的 SKView 表现糟糕

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:06:15 26 4
gpt4 key购买 nike

将空 SKView 添加到 UICollectionView 单元格使得滚动在 iPhone 6 (iOS 9.x) 上几乎不可能。假设 Collection View 包含 6 个项目,其中前 3 个是可见的,水平滚动接下来的 3 个项目需要 3 秒,而且会出现抖动。

相关部分代码如下:

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
{
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(ACDFilterCollectionViewCellConstants.CellIdentifier, forIndexPath: indexPath) as! ACDFilterCollectionViewCell

let filterType = filters[indexPath.row]

cell.titleLabel.text = filterType.rawValue

let skview = SKView(frame: cell.frame)
cell.filterView.addSubview(skview)

return cell
}

我应该怎么做才能在我的 UICollectionViewCells 中使用 SKView 进行平滑滚动?

在 iOS 8.x 上,我在呈现此 View 时遇到异常:

enter image description here

最佳答案

我不知 Prop 体的答案是什么 w.r.t.性能不佳的原因,但我可以为您提供一些有关如何进行的指示。

首先要做的是分析代码。使用 Instruments找出当您开始滚动时应用程序花费最多时间的位置。在 SKView 出现在屏幕上时设置它们是昂贵的部分吗?还是一遍又一遍地绘制所有这些 Sprite View ?是 Sprite View 中的某些东西需要很长时间才能绘制吗?我听说 SKShapeNode可能会拖累性能。如果从 SKView 中删除所有子节点会发生什么情况?

一旦知道瓶颈在哪里,就可以决定如何进行。从您的评论来看,您似乎只是在使用 SKView 来渲染一些路径,也许您不需要在绘制这些路径后对其进行动画处理?如果是这样,也许您可​​以使用单个屏幕外 SKView 将您的路径渲染到图像中,然后将该图像插入到集合单元格中。人们一直在使用充满图像的集合,而且它们滚动得很漂亮。

关于ios - UICollectionView 中的 SKView 表现糟糕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33222326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com