如何使UICollectionViewCell适合其子视图(使用自动布局)

fab*_*789 12 objective-c ios autolayout uicollectionview uicollectionviewcell

如何UICollectionViewCell使用自动布局更改基于子视图大小的a 的大小?

UICollectionViewCell的每个人都只有一个观点contentView.这是我的自定义UIView子类,它使用自动布局自动调整自身大小以适应其所有子视图.它也-intrinsicContentSize正确实现.然而UICollectionView,或者说它的布局,似乎并不关心这一点.

我正在使用UICollectionViewFlowLayout,并试过:

  • 保留itemSize默认值.这使我的细胞大小为50 x 50.
  • 实现委托方法-collectionView:layout:sizeForItemAtIndexPath:.但是,当调用此方法时,单元格(显然)尚未出现在屏幕上,并且尚未由自动布局系统更新.

有没有办法根据他们使用标准Apple类的子视图更改单元格的大小?或者我必须实现自己的UICollectionViewLayout子类,还是其他什么?

小智 -2

尝试collectionView:layout:sizeForItemAtIndexPath:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
     return self.view.frame.size;
}
Run Code Online (Sandbox Code Playgroud)