如何使用自动布局更改基于子视图大小的UICollectionViewCell
的大小?如何使UICollectionViewCell适合其子视图(使用自动布局)
我的UICollectionViewCell
每个只在他们的contentView
有一个视图。这是我的一个自定义UIView
子类,可以使用自动布局自动调整其大小以适合其所有子视图。它也正确实施了-intrinsicContentSize
。然而,UICollectionView
,或者说它的布局,似乎并不关心这一点。
我使用的是UICollectionViewFlowLayout
,并尝试:
- 离开
itemSize
其默认值。这使我的单元格大小为50 x 50. - 实施委托方法
-collectionView:layout:sizeForItemAtIndexPath:
。但是,当调用此方法时,单元格(显然)尚未出现在屏幕上,并且尚未由Auto Layout系统更新。
有什么方法可以根据使用标准Apple类的子视图更改单元格大小?或者我是否必须实现我自己的UICollectionViewLayout
子类,或其他?
原理相同http://stackoverflow.com/questions/18477220/have-uitableviewcell-resize-itself-with-autolayout/18481179#18481179,不幸的是,您需要预先给出尺寸。 – jrturton
上面的作者在使用“自由”单元格时有一个评论 - 您创建一个然后保持周围,以填充并获取大小。你应该能够使用[单元systemLayoutSizeFittingSize:UILayoutFittingCompressedSize] - 我现在有问题,但其中的一个应该工作。 –