UICollectionViewLayout:尝试在prepareLayout中出列单元格会导致stackOverflow

时间:2018-05-22 12:13:58

标签: ios objective-c uicollectionview uicollectionviewlayout

当我试着打电话时

[self.collectionView.dataSource collectionView:self.collectionView cellForItemAtIndexPath:indexPath]

[self.collectionView dequeueReusableCellWithReuseIdentifier:ItemReuseIdentifier forIndexPath:indexPath]

由于stackOverflow,我正面临着EXC_BAD_ACCESS stackTrace

获取细胞视图的正确方法是什么? (我需要它来衡量它的大小)

编辑:有趣的是,如果我注释掉该代码并在输出窗口中写入: po [self.collectionView.dataSource collectionView:self.collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:0]] 然后控制台中有一个正确的输出:

<CollectionItem: 0x7f90bdc03980; baseClass = UICollectionViewCell; frame = (-8.98847e+307 -8.98847e+307; 1.79769e+308 1.79769e+308); clipsToBounds = YES; alpha = 0; opaque = NO; layer = <CALayer: 0x60c0002213a0>>

编辑#2:如果我在例如layoutAttributesForElementsInRect没有这样的问题。

0 个答案:

没有答案