侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130560 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

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

2024-05-16 星期四 / 0 评论 / 0 点赞 / 134 阅读 / 2809 字

1准备 2.设置CollectionView // FlowLayout布局 UICollectionViewFlowLayout *layout = [[UICollectionViewFl

1准备

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]);

}

广告 广告

评论区