CollectionView常用的布局方式总结

结合网上的collectionView常用布局整合的collectionView使用工具

支持五种布局方式
ZFCollectionViewLayoutType有两种
ZFCollectionViewLayoutCircleType,   //圆形布局
ZFCollectionViewLayoutStackType  //叠加旋转布局

ZFCollectionViewFlowLayoutType有三种
ZFCollectionViewFlowLayoutRotatePageType,  //旋转布局
ZFCollectionViewFlowLayoutWaterfallType,  //瀑布流布局
ZFCollectionViewFlowLayoutLineType  //线性布局

1.导入collectionView文件夹下的文件

2.在需要使用的地方加入ZFCollectionView 如下:

ZFCollectionViewLayout *lay =[[ZFCollectionViewLayout alloc] init];
lay.layoutType =layoutType;
if (layoutType == ZFCollectionViewLayoutCircleType) {
    lay.itemSize =CGSizeMake(100, 100);
}else{
    lay.itemSize =CGSizeMake(200, 200);
}
collectionV = [[ZFCollectionView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,  self.view.frame.size.width) collectionViewLayout:lay];
collectionV.backgroundColor = [UIColor redColor];
collectionV.cellInfos = self.infos;
[self.view addSubview:collectionV];

根据需求设置数据 collectionV.cellInfos = self.infos;

数据必须是ZFCollectionViewCellModel类 可以自定义cell 将类名传给model (如果是使用代码自定义cell则传给cellName,xib自定义的cell则传给xibCellName) 详见demo

    /*
    懒加载数据
    */
    -(NSMutableArray *)infos{
    if (_infos == nil) {
    NSMutableArray *arr =[NSMutableArray arrayWithObjects:@"zhou",@"fei",@"shi",@"ge",@"da",@"hun",@"dan",@"hehe", nil];
    NSMutableArray *arr1 =[NSMutableArray arrayWithCapacity:1];

    for (int i =0; i < arr.count; i++) {

        ZFCollectionViewCellModel *model = [[ZFCollectionViewCellModel alloc] init];
        model.title = arr[i];
        model.imgWidth =100;
        model.imgHeight =100;
        if (i != 3) {
            model.cellName [email protected]"ZFCollectionViewCell";
        }else{

    //                model.cellName [email protected]"ZFCollectionViewCell";
            model.imgHeight =150;

            model.xibCellName [email protected]"xibCollectionViewCell";

        }

        model.imgName =[NSString stringWithFormat:@"%i",i];
        [arr1 addObject:model];
    }
    _infos = arr1;
    }
    return _infos;
    }
时间: 2024-11-10 17:33:29

CollectionView常用的布局方式总结的相关文章

安卓开发中我们常用的布局方式

在安卓开发中我们常用的布局方式有这么几种: 1.LinearLayout ( 线性布局 ) :(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) 线性布局分为水平线性和垂直线性二者的属性分别为: android:orientation= " horizontal " android:orientation= "vertical" . 2.RelativeLayout ( 相对布局 ) : (里面可以放多个控件,但是一行只能放一个控件) 附加几类

安卓开发常见布局方式学习

在安卓开发中我们常用的布局方式有这么几种: 1.LinearLayout ( 线性布局 ) :(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) 线性布局分为水平线性和垂直线性二者的属性分别为: android:orientation= " horizontal " android:orientation= "vertical" . 2.RelativeLayout ( 相对布局 ) : (里面可以放多个控件,但是一行只能放一个控件) 附加几类

Android开发之基本控件和详解四种布局方式

Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方式Android和iOS还是区别挺大的,在iOS中有Frame绝对布局和AutoLayout相对布局.而在Android中的布局方式就比较丰富了,今天博客中会介绍四种常用的布局方式.先总结一下控件,然后再搞一搞基本方式,开发环境还是用的Mac下的Android Studio.开始今天的正题, 虽然A

安卓常用的布局

上完课后,我发现我对安卓的布局很感兴趣,因为UI是最能给我们直观感受的,人人都想追求一个美观的程序.课后我对照书然后网上查找资料大致的总结了一下. 在android中我们常用的布局方式有这么几种:LinearLayout (线性布局),RelativeLayout (相对布局),TableLayout (表格布局),AbsoluteLayout (绝对布局),FrameLayout (帧布局).不过我发现一般把framelayout做容器,不当布局来看待,因为没法单独完成一个布局.从代码数量来看

CSS原生布局方式

前言 网页原生布局的方法其实网上有很多,大概为Flow(流动布局模型).Float(浮动布局模型).Layer(层级布局模型).<!--more--> Flow布局 流动布局模型其实就是默认的网页布局模式.也就是说网页在默认状态下的HTML网页元素都是根据流动模型来分布网页内容的.流动布局将会有两个比较典型的特征,第一,块级元素都会在所处的最近父级容器元素内自上而下按顺序垂直顺延分布,因为在默认状态下,块级元素的宽度都是100%(即父级元素宽度的100%).实际上,块状元素都会以行的形式占据位

[转]企业网站首页设计常见的6种布局方式

在群里和大家交流时,看到太多的网页设计师发布企业站的个人作品,设计中总是摆脱不了大框套小框的设计布局思路,不加思索的跳入单一的网页布局形式中,于是就有了把企业站常用的页面布局方式总结一下的想法,让大家包括我自己全面的了解一下企业站的常见布局方式,做到对此种类型的网站布局心中有数,跳出狭隘.单一的设计思路,于是就有了这篇文章.很多人常常询问某个页面该如何布局这样的问题,其实网页布局也没有想象中那么难,只要做到两点我认为起码可以做到临阵不慌,一是对常见的布局方式心中有数,二是根据信息内容及设计素材的

Swing的布局方式

  Swing的布局方式 当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理.JPanel缺省是初始化一个FlowLayout,而content pane缺省是初始化一个BorderLayout.下面将分别介绍几种最常用的布局管理器:FlowLayout.BorderLayout.BoxLayout.CardLayout.GridLayout和GridBagLayout. 代码演示每一个布局管理器都会有一个代码演示,xxxLayoutDemo.java(见附件).这些

【转】Android开发学习笔记:5大布局方式详解

Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(TableLayout):按照行列方式布局组件. 相对布局(RelativeLayout):相对其它组件的布局方式. 绝对布局(AbsoluteLayout):按照绝对坐标来布局组件. 1. 线性布局 线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:

自定义UICollectionViewController之后 如何设置UICollectionView的布局方式

我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView   通过初始化的时候  传入一个布局对象的方式来使用UICollectionView 比如我们之前是这样写得: 1 UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; 2 3 UICollectionView *collection = [[UICollectionView alloc]