写一个类继承UICollectionViewLayout,这个类需要提供一个数组来标识各个cell的属性信息,包括位置,size大小,返回一个UICollectionViewLayoutAttributes 数组,UICollectionView根据这个数组信息来确定各个cell的位置、size大小等属性。

 

例如自定义类:

@interface MyCollectionViewLayout : UICollectionViewLayout

 

在此类中定义一个实例变量_attributeArray数组

 

需要实现三个方法:

- (void)prepareLayout {

//填充_attributeArray数组内容数组每一项为一个UICollectionViewLayoutAttributes对象

//UICollectionViewLayoutAttributes *attributes = [UICollectionViewLayoutAttributes layoutAttributesForCellWithIndexPath:[NSIndexPath indexPathForItem:i inSection:0]];

}

 

- (CGSize)collectionViewContentSize {

    return self.collectionView.frame.size;

}

 

- (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect {

    return _attributeArray;

}

 

posted on 2017-03-27 14:38  ximenchuixie  阅读(1022)  评论(0编辑  收藏  举报