博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UICollectionView总结
阅读量:5826 次
发布时间:2019-06-18

本文共 2788 字,大约阅读时间需要 9 分钟。

hot3.png

好久没写博客了,最近闲,多写点!

1.基本介绍

先介绍一下UICollectionView,大家应该都用过UITableView,不熟悉的可以看这里,UITableView中的表格只支持单排列表,没办法支持网格列表模式

当然也有很多大牛使用UITableView做出网格效果来了,实现的方式肯定都一样,就是将Cell分成几部分View,在赋值的时候一次性传两个或者多个data过去,通过delegate或者其他方式返回不同cell被点击的效果,要求具体Demo嘛,我找找看啊!

当然拉,上面的方法可行,但是麻烦,而且不好维护,在IOS6 SDK中就出了UICollectionView(只支持ios6以上系统),首先UICollectionView是基础UITableView的,所以UICollectionView的结构模式是和UITableView一模一样的。

2.使用方法

UICollectionView的使用方法和UITableView的基本相似,不同的是UICollectionViewFlowLayout和UICollectionViewCell

    UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];    [flowLayout setItemSize:CGSizeMake(CAPTURE_SIZE/2, CAPTURE_SIZE/2)];    [flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];    flowLayout.sectionInset = UIEdgeInsetsMake(10, 10, 10, 10);    flowLayout.minimumLineSpacing = 10;    flowLayout.minimumInteritemSpacing = 0;    flowLayout.footerReferenceSize = CGSizeMake(300, 30);        _collectionView.delegate = self;    _collectionView.dataSource = self;    [_collectionView setCollectionViewLayout:flowLayout];    [_collectionView registerClass:[RDImgeCollectionCell class] forCellWithReuseIdentifier:@"RDImgeCollectionCell"];    [_collectionView setBackgroundColor:[UIColor whiteColor]];

UICollectionViewFlowLayout决定了UICollectionViewCell将要显示的大小,间隔,排列方式等

#pragma -mark CollectionView DataSource- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{    return _myRandoImageArray.count;}- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{        static NSString *identifier = @"RDImgeCollectionCell";        RDImgeCollectionCell *cell = (RDImgeCollectionCell *)[collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];        RDImageModel *image = [_myRandoImageArray objectAtIndex:indexPath.row];    [cell.imageView setImageWithURL:[NSURL URLWithString:image.imageUrl] placeholderImage:[UIImage imageNamed:@"defaultImage"]];    [cell showLikeMsg:image.likeNumber];        return cell;}#pragma -mark CollectionView UICollectionViewDelegate- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{    RDImageModel *image = [_myRandoImageArray objectAtIndex:indexPath.row];    RDDetailImageViewController *detailImageViewController = [[RDDetailImageViewController alloc] init];    detailImageViewController.imageArray = _myRandoImageArray;    detailImageViewController.thisImage = image;    detailImageViewController.isMyImage = YES;    [_navController pushViewController:detailImageViewController animated:YES];}

两个delegate和tableView的类型,返回datasouce和处理响应的事件!

用到UICollectionView的一个小项目Rando地址:

转载于:https://my.oschina.net/iq19900204/blog/391972

你可能感兴趣的文章
一本书的摘录
查看>>
重排序(转载)
查看>>
python+selenium之字符串切割操作
查看>>
串结构练习——字符串匹配
查看>>
linux下输入密码不回显
查看>>
《构建之法》读书笔记
查看>>
拿下阿里、头条、滴滴的offer后谈谈面试经验---动身前看一看
查看>>
android开发(49) android 使用 CollapsingToolbarLayout ,可折叠的顶部导航栏
查看>>
【ERP】如何在多行数据块中实现仅能勾选唯一的主联系人
查看>>
Oracle 数据库优化的R方法(Method R)
查看>>
CentOS最小化安装系统开启网卡
查看>>
互联网+升级到智能+ 开启万物智联新时代
查看>>
Linux文本编辑器之Nano
查看>>
【原】IOS中KVO模式的解析与应用
查看>>
理解 QEMU/KVM 和 Ceph(3):存储卷挂接和设备名称
查看>>
[MFC] CList
查看>>
[Android Pro] 完美Android Cursor使用例子(Android数据库操作)
查看>>
c++中sizeof的分析
查看>>
线程间操作无效: 从不是创建控件的线程访问它的解决方法
查看>>
hdu 1236 排名
查看>>