collectionview使用

创建UICollectionViewFlowLayout 对象来设置相关的布局,包括itemSize,headerReferenceSize,sectionInset。设置对应的布局大小,相关的和顶部之间的间距等。

UICollectionView创建对应的view并且定义对应的大小,设置代理方法和数据源对象。

-(void)loadCollectionView
{
    UICollectionViewFlowLayout * collectionViewFlow = [[UICollectionViewFlowLayout alloc]init];
   UICollectionView *collectView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, ScreenHeight, CGRectGetWidth(_homeScrollView.frame), 2000)collectionViewLayout:collectionViewFlow];

    collectView.dataSource = self;
    collectView.delegate = self;
    collectView.backgroundColor = [UIColor blueColor];
    [collectView registerClass:[CSHomeCollectionViewCell class] forCellWithReuseIdentifier:@"collectionCell"];
    collectionViewFlow.itemSize = CGSizeMake(93, 120);
    collectionViewFlow.sectionInset = UIEdgeInsetsMake(40, 0, 0, 0);
    collectionViewFlow.scrollDirection  = UICollectionViewScrollDirectionVertical;
    [_homeScrollView addSubview:collectView];
}
//datasource,delegate
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return 20;
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
      CSHomeCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionCell" forIndexPath:indexPath];
    cell.topImage.image = [UIImage imageNamed:@"cludy_bg"];
    return cell;
}

从而来实现对应的方法,其中自定义的cell类

-(instancetype)initWithFrame:(CGRect)frame
{
    self =[super initWithFrame:frame];
    if (self) {
        self.backgroundColor = [UIColor grayColor];
        self.topImage = [[UIImageView  alloc]initWithFrame:CGRectMake(5, 5, MYSIZE.width-10, MYSIZE.height*0.6)];
        [self addSubview:_topImage];

        self.designer = [[UILabel alloc]initWithFrame:CGRectMake(5, CGRectGetHeight(self.topImage.frame), CGRectGetWidth(self.frame), 20)];

        self.designer.text = @"hello";
        [self addSubview:_designer];

//        self.goodBtn = [UIButton alloc]initWithFrame:CGRectMake(0, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>)

    }
    return self;
}

当定义的时候,自动调用initwithframe函数来初始化

时间: 2024-10-07 06:07:30

collectionview使用的相关文章

SDWEBImage和collectionView的组合,以及collectionView的随意间距设置

#import "ViewController.h" #import <ImageIO/ImageIO.h> #import "UIImageView+WebCache.h" @interface ViewController ()<UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout> // 数据源 @property

iOS SDWEBImage和collectionView的组合,以及collectionView的随意间距设置

转载自:http://www.cnblogs.com/tmf-4838/p/5361271.html #import "ViewController.h" #import <ImageIO/ImageIO.h> #import "UIImageView+WebCache.h" @interface ViewController ()<UICollectionViewDataSource, UICollectionViewDelegate, UICo

Dynamic支持CollectionView布局 、 MotionEffects特效 、 BlurImage效果 、 TextKit

1 使用UIDynamicAnimator对集合视图进行布局 1.1 问题 UIKit Dynamic动力模型一个非常有趣的用途就是影响集合视图的布局,可以给集合视图的布局添加各种动力行为,使其产生丰富多彩的效果,本案例使用UIDynamicAnimator对集合视图进行布局,实现一个弹性列表,如图-1所示: 图-1 1.2 方案 首先创建一个SingleViewApplication项目,给UIColor类创建一个分类UIColor+RandomColor,提供一个产生随机颜色的静态方法ran

iOS9 collectionView新特性

近日因为系统升级导致xcode6.系列版本出现bug,于是开始使用xcode7.在使用之余突然想到collectionView在iOS9中发布了一个可以移动cell的新特性,就尝试着将其实现,无奈api文档接口无法查看,只有一些列的api放在那里.于是上网查找,发现国内没有搜索到此类文章,于是FQ继续找,最终找到的竟然都是swift版本,于是将其转换为oc版本以帮助国内需要的朋友学习使用.下面是具体用法: 1.创建collectionView并设置代理 - (UICollectionView *

ios 两个 TableView 之间的联动, TableView 与 CollectionView 之间的联动

两个 TableView 之间的联动, TableView 与 CollectionView 之间的联动 这是一个创建于 359 天前的主题,其中的信息可能已经有所发展或是发生改变. [联动] :两个 TableView 之间的联动, TableView 与 CollectionView 之间的联动 前言 现在市面上有很多 app 都有联动功能,有的是两个 TableView 之间的联动,比如美团外卖,百度外卖,饿了么等等.有的是 TableView 与 CollectionView 之间的联动

CollectionView垂直缩放卡片布局

实现效果 实现思路 从效果图可以看到变化是,越是往中间滚动的item显示最大,越显眼.而越是往前面,或者越是后面的,反而显示越小,这样就形成了视觉差. 实现的思路就是通过重写在可见范围内的所有item的方法: 1 2 3 - (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect 通过这个API可以获取到原始属性,然后利用公式来计算缩放. 难点 如何计算缩放系数.

iOS基础之CollectionView(集合视图)

在iOS6.0之后,苹果推出了?个新的继承于UIScrolleriew的一个视 图,UICollectionView,也被称之为集合视图.和UITableView共同作为 在开发中常常用的两个视图,常常作为项目的主界面出现. 代码演示: #import "YourCollectionViewCell.h" @implementation YourCollectionViewCell -(instancetype)initWithFrame:(CGRect)frame{ self = [

CollectionView 简用

创建一个CollectionView 分为几个步骤 1.先创建布局FlowLayout 设置布局格式 2.创建CollectionView 并使用布局Flowlayout  -initWithFrame: collectionViewLayout: 3.遵循协议delegate dataSource 4.注册cell 5.添加到view #import "ViewController.h"#import "reusableview.h" - (void)viewDi

collectionView 防止cell复用的方法

collectionView 防止cell复用的方法 一: //在创建collectionView的时候注册cell(一个分区) UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath]; for (UIView *view in cell.contentView.subviews) { [view removeFro

collectionView布局

关于 collectionView的layout布局方法: 设置cell的间距,行间距,组与组之间的间距,都是在layout里面来设置. 包括,滚动方向. -(void)prepareLayout [super prepareLayout] //最小行间距 self.minimumLineSpacing =1; //最小cell间距 self.minimumInteritemSpacing =1; //组与组之间的间距 self.sectionInset =UIEdgeInsetsMake(0,