我正在开发一个自定义UICollectionViewLayout按日/周/月组织的单元格.
它不是滚动平滑,看起来滞后是由[UICollectionView _updateVisibleCellsNow]每个渲染循环调用引起的.
性能对于<30项是可以的,但在大约100或更高时,它非常慢.这是UICollectionView和自定义布局的限制,还是我没有给视图足够的信息来正确执行?
来源:https://github.com/oskarhagberg/calendarcollection
布局:https://github.com/oskarhagberg/calendarcollection/blob/master/CalendarHeatMap/OHCalendarWeekLayout.m
数据源和代理:https://github.com/oskarhagberg/calendarcollection/blob/master/CalendarHeatMap/OHCalendarView.m
时间档案:

更新
也许它徒劳无功?一些测试与普通UICollectionViewController带UICollectionViewFlowLayout被给予大约的细胞/屏幕结果相同的量以类似的时间曲线.

我觉得它应该能够在没有抖动的情况下一次处理~100个简单的不透明单元.我错了吗?
我有一个UICollectionView,里面有一些图像.在第一次向下滚动时加载图像非常慢且不稳定.之后,当图像加载时,它很好.
我想问题是图像不会被加载,直到单元格到达屏幕导致滞后.我假设我需要做的是在图像出现在屏幕上之前加载图像.我不知道该怎么做,显然是在寻找错误的东西,因为我找不到任何答案.请有人指出我正确的方向吗?
这是加载图像的代码......图像在我的应用程序中没有下载或任何东西.
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
[[cell myImage]setImage:[UIImage imageNamed:[arrayOfImages objectAtIndex:indexPath.item]]];
return cell;
}
Run Code Online (Sandbox Code Playgroud)
谢谢!