当我打电话
[collectionView cellForItemAtIndexPath:indexPath:]
从内部
[collectionView:layout:sizeForItemAtIndexPath:]
那么委托方法不会被触发。知道为什么不?
你可以在这里看到它。
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
CustomCell *cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"CustomCell" forIndexPath:indexPath];
[cell configureWithData:self.data[indexPath.row]];
return cell;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
CustomCell * cell = (CustomCell *)[collectionView cellForItemAtIndexPath:indexPath];
return [cell preferredSize];
}
我想要做的是询问单元格的首选大小。
我可以做
CustomCell * cell = (CustomCell *)[self collectionView:collectionView cellForItemAtIndexPath:indexPath];
但随后触发了一个永无止境的循环循环
为什么它的委托方法没有按应有的方式调用?