Vap*_*olf 93 ios uicollectionview ios7
我一直在更新我的应用程序以在iOS 7上运行,这在大多数情况下都很顺利.我已经注意到在一个以上的应用程序中,a的reloadData
方法UICollectionViewController
并不像以前那样.
我将加载UICollectionViewController
,UICollectionView
正常填充一些数据.这在第一次很好用.但是,如果我请求新数据(填充UICollectionViewDataSource
),然后调用reloadData
,它将查询数据源numberOfItemsInSection
和numberOfSectionsInCollectionView
,但它似乎没有调用cellForItemAtIndexPath
正确的次数.
如果我将代码更改为仅重新加载一个部分,那么它将正常运行.这对我来说没有问题,但我认为不应该这样做.reloadData
应根据文档重新加载所有可见的单元格.
有没有人见过这个?
小智 71
在主线程上强制执行此操作:
dispatch_async(dispatch_get_main_queue(), ^ {
[self.collectionView reloadData];
});
Run Code Online (Sandbox Code Playgroud)
lia*_*ols 63
在我的例子中,数据源中的单元格/节的数量从未改变,我只是想重新加载屏幕上的可见内容.
我设法通过调用来解决这个问题:
[self.collectionView reloadItemsAtIndexPaths:[self.collectionView indexPathsForVisibleItems]];
Run Code Online (Sandbox Code Playgroud)
然后:
[self.collectionView reloadData];
Run Code Online (Sandbox Code Playgroud)
Ant*_*sov 26
我有完全相同的问题,但我设法找到了错误的原因.在我的情况下,我从collectionView:cellForItemAtIndexPath调用reloadData :看起来不正确.
将reloadData调用调用到主队列一次又一次地修复了问题.
dispatch_async(dispatch_get_main_queue(), ^{
[self.collectionView reloadData];
});
Run Code Online (Sandbox Code Playgroud)
小智 20
重新加载一些项目对我不起作用.在我的情况下,只是因为我正在使用的collectionView只有一个部分,我只是重新加载该特定部分.这次正确地重新加载内容.很奇怪,这只发生在iOS 7(7.0.3)上
[self.collectionView reloadSections:[NSIndexSet indexSetWithIndex:0]];
Run Code Online (Sandbox Code Playgroud)
dim*_*iax 12
// GCD
DispatchQueue.main.async(execute: collectionView.reloadData)
// Operation
OperationQueue.main.addOperation(collectionView.reloadData)
Run Code Online (Sandbox Code Playgroud)
// Operation
NSOperationQueue.mainQueue().addOperationWithBlock(collectionView.reloadData)
Run Code Online (Sandbox Code Playgroud)
小智 11
我在iOS 7上遇到了与reloadData相同的问题.经过长时间的调试,我发现了问题.
在iOS7上,UICollectionView上的reloadData不会取消之前尚未完成的更新(在performBatchUpdates:block中调用的更新).
解决此错误的最佳解决方案是停止当前处理的所有更新并调用reloadData.我没有找到取消或停止performBatchUpdates块的方法.因此,为了解决这个问题,我保存了一个标志,指示是否存在当前正在处理的performBatchUpdates块.如果没有当前处理的更新块,我可以立即调用reloadData,一切都按预期工作.如果有一个当前正在处理的更新块,我将在performBatchUpdates的完整块上调用reloadData.
归档时间: |
|
查看次数: |
72265 次 |
最近记录: |