UICollectionView 滚动滞后于核心情节
Posted
技术标签:
【中文标题】UICollectionView 滚动滞后于核心情节【英文标题】:UICollectionView scroll lags with core plot 【发布时间】:2013-05-03 15:21:14 【问题描述】:我在 iPad 3 上使用 UICollectionView 来显示使用 CorePlot 的 BarChart 仪表板。我有大约 3 页的 6 条形图。
当用户滚动 UICollectionView 时会有一些滞后。
我已将 BarChart 的主题从 kCPTDarkGradientTheme 更改为 kCPTPlainBlackTheme,滚动效果更好,但仍然有点滞后。
从仪器看来,在来自 CPTLayer 的 -(void)recursivelyRenderInContext:(CGContextRef)context 中似乎需要一些时间(160 毫秒)。
知道如何改进它吗? 问候,
塞巴斯蒂安。
【问题讨论】:
你能显示你的 -(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 吗? 【参考方案1】:纯色的渲染速度比渐变色快得多,因此可以解释更改主题时的改进。您是否正在缓存生成的图形图像,以便它们只需要渲染一次? Plot Gallery 示例应用程序的 ios 版本使用表格视图来显示图形缩略图,但它可能会为您提供一些关于如何构建应用程序以获得更好性能的想法。
【讨论】:
您的权利。昨天我找到了平滑滚动的解决方案。 完整答案...您的权利。昨天我找到了平滑滚动的解决方案!在我的 UICollectionView 中,我用一个简单的 UIImageView 替换了 CPTGraphHostingView。在显示 UICollectionView 之前,我构建了所有 BartCharts,然后为每个方法 imageOfLayer 使用来获取 UIImage,并在我的 UICollectionView 中使用它们。现在我的 BarChart 仪表板可以完美平滑滚动了 ;-)以上是关于UICollectionView 滚动滞后于核心情节的主要内容,如果未能解决你的问题,请参考以下文章
UICollectionViewCell 中的 UICollectionView 滚动缓慢/滞后
UICollectionView 滚动 SWIFT 滞后/缓慢
Objective C uiCollectionView 滚动和加载图像让它感觉滞后