IOS代码布局(五) UICollectionView

(一)初始化

  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个

红包金额最低5元

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

抵扣说明:

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

余额充值