我一直在更新自己的应用程序,使其可以在iOS 7上正常运行。我在一个以上的应用程序中注意到reloadDataUICollectionViewController方法并不像以前那样起作用。

我将加载UICollectionViewController,并像往常一样用一些数据填充UICollectionView。这在第一时间效果很好。但是,如果我请求新数据(填充UICollectionViewDataSource),然后调用reloadData,它将在数据源中查询numberOfItemsInSectionnumberOfSectionsInCollectionView,但似乎没有正确地调用cellForItemAtIndexPath次数。

如果我更改代码以仅重新加载一个部分,则它将正常运行。对我来说,更改这些没有问题,但是我认为我不必这样做。 reloadData应该根据文档重新加载所有可见的单元格。

其他人看到了吗?

最佳答案

在主线程上强制执行此操作:

dispatch_async(dispatch_get_main_queue(), ^ {
    [self.collectionView reloadData];
});

关于ios - UICollectionView reloadData在iOS 7中无法正常运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18796891/

10-12 16:18