UICollectionView

创建一个collectionView之前需要先创建瀑布流

 // 官方提供的一种瀑布流效果
    UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];

在这里对每一个用来显示的区域称为Item,就相当于tableView上的cell

设置item的尺寸

 flowLayout.itemSize = CGSizeMake(100, 160);

通过设置flowLayOut来设置样式

1.设置最小的行间距,纵间距

 flowLayout.minimumInteritemSpacing = 2;
    flowLayout.minimumLineSpacing = 2;
    
    flowLayout.sectionInset = UIEdgeInsetsMake(20, 20, 20, 20);

2.设置滑动的方向

    flowLayout.scrollDirection = UICollectionViewScrollDirectionVertical;

创建collectionView

 UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:self.view.frame collectionViewLayout:flowLayout];
    [self.view addSubview:collectionView];

设置代理人,只能用注册来设置cell

 // 设置代理人
    collectionView.dataSource = self;
    collectionView.delegate = self;
    // 注册
    [collectionView registerClass:[MyCell class] forCellWithReuseIdentifier:@"reuse"];

collectionViewCell没有系统的视图,需要自己创建视图,创建视图不需要重写tableViewCell的最后一个方法

设置flowLayout头部滚动的范围(滚动视图)

 flowLayout.headerReferenceSize = CGSizeMake(0, 300);

注册头部区域  参数一;需要注册的类型是UICollectionReusableView  参数二:注定注册的视图的类型,头或者尾  参数三:重用标识

[collectionView registerClass:[MyReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"header"];

协议方法(头视图)

// 协议方法(头视图)
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{
   MyReusableView *view = [collectionView dequeueReusableSupplementaryViewOfKind: UICollectionElementKindSectionHeader withReuseIdentifier:@"header" forIndexPath:indexPath];
    view.backgroundColor = [UIColor cyanColor];
    return view;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值