電話すると
[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];
しかし、その後、終わりのないループサイクルがトリガーされます
デリゲート メソッドが呼び出されないのはなぜですか?