博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS代码布局(五) UICollectionView
阅读量:5846 次
发布时间:2019-06-18

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

(一)初始化

  1、创建一个layout布局类

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

     2、设置布局方向为垂直流布局

layout.scrollDirection = UICollectionViewScrollDirectionVertical;

  3、设置每个item的大小为100*100

layout.itemSize = CGSizeMake(100, 100);

  4、创建collectionView 通过一个布局策略layout来创建

UICollectionView * collect = [[UICollectionView alloc]initWithFrame:self.view.frame collectionViewLayout:layout];

  5、代理设置

collect.delegate=self;    collect.dataSource=self;

      6、注册item类型 这里使用系统的类型

[collect registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cellid"];

  7、设置白色背景颜色

collect.backgroundColor = [UIColor whiteColor];

  8、加入视窗

[self.view addSubview:collect];

(二)方法

  1、返回分区个数

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{    return 1;}

  2、返回每个分区item个数

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{    return 20;}

  3、设定cell间上下间距为2

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{    return 2;}

  4、设定cell间左右间距为2

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section{    return 2;}

  5、返回item(设定样式)

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{    UICollectionViewCell * cell  = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellid" forIndexPath:indexPath];    cell.backgroundColor = [UIColor colorWithRed:arc4random()%255/255.0 green:arc4random()%255/255.0 blue:arc4random()%255/255.0 alpha:1];    //设置图片    NSURL *imageUrl = [NSURL URLWithString:[[_output objectAtIndex:indexPath.row] objectForKey:@"pic"]];    UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:imageUrl]];    UIImageView *orderImage =[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, cell.frame.size.width,cell.frame.size.height)];    orderImage.image = image;    [cell addSubview:orderImage];        //设置名称    UILabel *name=[[UILabel alloc]initWithFrame:CGRectMake(0, cell.frame.size.height-25, 140, 20)];    name.text =[[_output objectAtIndex:indexPath.row] objectForKey:@"username"];    name.textColor = [UIColor whiteColor];    name.font = [UIFont fontWithName:@"Helvetica" size:10];    [cell addSubview:name];           return cell;}

 

转载于:https://www.cnblogs.com/Asssjc/p/5945636.html

你可能感兴趣的文章
阿里数据中台七年演化史——行在口述干货
查看>>
10.Java异常问题
查看>>
利用Git Webhooks实现jekyll博客自动化部署
查看>>
Fescar undoExecutor介绍
查看>>
Linux命令操作大全
查看>>
从周五开始香港主机特别慢,香港主机用户有同感吗?
查看>>
Ember.js 3.9.0-beta.3 发布,JavaScript Web 应用开发框架
查看>>
python标准库00 学习准备
查看>>
4.2. PHP crypt()
查看>>
commonservice-config配置服务搭建
查看>>
连接池的意义及阿里Druid
查看>>
ComponentOne 2019V1火热来袭!全面支持 Visual Studio 2019——亮点之WinForm篇
查看>>
Python递归函数与匿名函数
查看>>
loadrunner安装运行一步一步来(多图)
查看>>
git请求报错 401
查看>>
监控工具htop的安装及使用
查看>>
Nodejs使用图灵机器人获取笑话
查看>>
Spring 任务调度 简单的,使用Schedule
查看>>
SQL 2005删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突。)的解决...
查看>>
【Touch&input 】支持多个游戏控制器(18)
查看>>