关于UICollectionView的简单的用法,头部和尾部可以设置跟随CollectionView的滚动和不滚动

一、纯代码的实现

首先,讲一下UICollectionView的纯代码的创建,创建CollectionView,得先创建UICollectionViewLayout,

UICollectionViewFlowLayout *layout = [UICollectionViewFlowLayout new];

layout.scrollDirection = UICollectionViewScrollDirectionVertical;

layout.itemSize = CGSizeMake(100, 100);

layout.minimumLineSpacing = 10;

layout.minimumInteritemSpacing = 10;

layout.sectionHeadersPinToVisibleBounds = YES;

layout.sectionFootersPinToVisibleBounds = YES;

再创建CollectionView,CollectionView和TableView类似,只是CollectionView由CollectionViewFlowLayout来管理,建议大家使用UICollectionViewDelegateFlowLayout来对CollectionView进行管理,具体细节请看链接的代码。

self.DQCollectionView = [[UICollectionView alloc]initWithFrame:self.view.bounds collectionViewLayout:layout];

[self.view addSubview:self.DQCollectionView];

self.DQCollectionView.delegate = self;

self.DQCollectionView.dataSource = self;

[self.DQCollectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cell"];

self.DQCollectionView.backgroundColor = [UIColor whiteColor];

[self.DQCollectionView registerNib:[UINib nibWithNibName:@"DQHeaderFooterView" bundle:nil] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"header"];

[self.DQCollectionView registerNib:[UINib nibWithNibName:@"DQHeaderFooterView" bundle:nil] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"footer"];

请看效果,

图1


图2

不过两个设置,要iOS 9.0才有效

@property (nonatomic) BOOL sectionHeadersPinToVisibleBounds NS_AVAILABLE_IOS(9_0);

@property (nonatomic) BOOL sectionFootersPinToVisibleBounds NS_AVAILABLE_IOS(9_0);

二、xib的实现

首先拉进CollectionView,再设置CollectionViewFlowLayout。


图3


图4

再设置 sectionHeadersPinToVisibleBounds/sectionFootersPinToVisibleBounds


图5

NO:跟随CollectionView滚动,YES:header 悬挂头部,footer 悬挂尾部

QQ技术支持:350218638

代码的地址:github地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容