2014-08-28 72 views
5

(成功)调用UICollectionViewLayout“锁定”的错误消息

__weak typeof(self) wself = self; 
[self.collectionView performBatchUpdates:^{ 
    [wself.collectionView.collectionViewLayout invalidateLayout]; 
    [wself.collectionView setCollectionViewLayout:self.layoutDeletion animated:YES]; 
     } completion:nil]; 

后,我收到以下错误信息:
trying to load collection view layout data when layout is locked

操作正常工作,只是一个特定UICollectionViewCell没有加载其子视图。
我从来没有见过这个错误信息,包括谷歌。任何想法可能会导致这种情况?

回答

7

通过在performBatchUpdates内调用setCollectionViewLayout生成错误。目前还不清楚这是预期的行为(编码错误)还是iOS中的错误。您可以将问题报告给Apple,但与此同时,您应该重构无需批量更新即可执行布局更改。您始终可以使用完成处理程序对集合视图执行任何其他更新。

+1

对于iOS 9来说,我需要在完成块中调用'setCollectionViewLayout'来消除警告。 – 2016-07-28 18:57:19

0

我在iOS 8上遇到了同样的问题...其实我只是删除了performBatchUpdates:方法,所有的工作对我来说都很好!