Objective-C --- - UICollectionView (梳理总结)

1准备

211157_R07H_2721020.png

2.设置CollectionView

//    FlowLayout布局

    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];

    //设计方向

//    layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;    

    _collectionView = [[UICollectionView alloc]initWithFrame:[UIScreen mainScreen].bounds collectionViewLayout:layout];

    [self.view addSubview:_collectionView];    

//    设置代理

    _collectionView.delegate = self;

    _collectionView.dataSource = self;    

//    注册cell

    [_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:kCellID];

//    背景颜色默认为黑色

    _collectionView.backgroundColor = [UIColor whiteColor];

3.实现代理方法(常用的几个举例)

//cell个数

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{

    return [self.dataList[section] count];

}

//cell组数

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{

    return [self.dataList count];

}

//cell大小

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{

    return CGSizeMake(kWidthOfCell, kWidthOfCell);

}

//cell之间的距离 系统会根据数值自动调节

-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{

    return UIEdgeInsetsMake(5, 5, 5, 5);

}

 

//cell的关键代理

-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:kCellID forIndexPath:indexPath];

    cell.contentView.backgroundColor = [UIColor greenColor];

    

    return cell;

}

//点击cell触发的代理

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{

    NSLog(@"%@",self.dataList[indexPath.section][indexPath.item]);

}

转载于:https://my.oschina.net/adso/blog/693126

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值