一般我们在做collection view时都是用
UICollectionViewFlowLayout来进行布局.使用
UICollectionViewDelegate作为代理.但是这样每个cell的大小是我们不方便通过代码动态确定的.在做项目是发现源码里有
@protocol UICollectionViewDelegateFlowLayout <UICollectionViewDelegate>
@optional
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
...
@end
于是把collection view 的delegate 由 <UICollectionViewDelegate>换成<UICollectionViewDelegateFlowLayout>并实现
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return CGSizeMake(width, height);
}
这样就可以实现根据不同的indexpath确定cell的大小.