在用UICollectionView做瀑布流列表的时候,遇到了UICollectionView的contentSize的高度不对的问题,页面最下面的cell无法显示。
可以看出下拉刷新控件不在最底部各种调试发现UICollectionView的contentSize的height比实际内容小,
最后发现UICollectionViewLayout有一个属性collectionViewContentSize,点进去看苹果的文档
collection.png
@property(nonatomic, readonly) CGSize collectionViewContentSize; // Subclasses must override this method and use it to return the width and height of the collection view’s content. These values represent the width and height of all the content, not just the content that is currently visible. The collection view uses this information to configure its own content size to facilitate scrolling.
注释很清晰,需要在自定义的子类中重写该方法来刷新UICollectionView的contentSize,那就很简单了,瀑布流的每一个cell的高度都是我自己计算的,计算完之后保存一下高度,在collectionViewContentSize方法中返回就可以了,顺利解决问题。
网友评论