结合网上的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 =@"ZFCollectionViewCell";
}else{ // model.cellName =@"ZFCollectionViewCell";
model.imgHeight =150; model.xibCellName =@"xibCollectionViewCell"; } model.imgName =[NSString stringWithFormat:@"%i",i];
[arr1 addObject:model];
}
_infos = arr1;
}
return _infos;
}

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

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

    Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...

  2. 两种最常用的Sticky footer布局方式

    Sticky footer布局是什么? 我们所见到的大部分网站页面,都会把一个页面分为头部区块.内容区块和页脚区块,当头部区块和内容区块内容较少时,页脚能固定在屏幕的底部,而非随着文档流排布.当页面内 ...

  3. 【深入篇】Android常用布局方式简介

    LinearLayout 线性布局是程序中最常见的布局方式.一般分为水平线性布局和竖直线性布局,通过android.orientation属性可以设置线性布局的方向. 在布局中操作颜色时,要用的是十六 ...

  4. Android 常用UI控件之TabHost(1)TabHost的两种布局方式

    TabHost是Android中的tab组件. TabHost布局文件的基本结构 TabHost下有个layout,这个layout中有TabWidget与FrameLayout.TabWidget是 ...

  5. CSS常用布局方式-两列布局、三列布局

    CSS基础 2.几种布局方式1)table布局 当年主流的布局方式,第一种是通过table tr td布局 示例: <style type="text/css"> ta ...

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

    我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView   通过初始化的时候  传入一个布局对象的方式来使用UICollectionView 比如我们之前 ...

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

    Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(Tabl ...

  8. 通过scrollerview自定义collectionview(常用于推荐关注界面)

    最近项目上要实现一个效果,先把效果图摆上来吧: 刚看到效果图的时候  我觉得很简单  用UICollectionview就可以了 但是后来发现collectionview只有两种布局方式  比较单一 ...

  9. 关于SWT中的GridLayout布局方式

    GridLayout 布局的功能非常强大,也是笔者常用的一种布局方式.GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序 ...

随机推荐

  1. 详解Spring Security的HttpBasic登录验证模式

    一.HttpBasic模式的应用场景 HttpBasic登录验证模式是Spring Security实现登录验证最简单的一种方式,也可以说是最简陋的一种方式.它的目的并不是保障登录验证的绝对安全,而是 ...

  2. vue 前端处理监听关键字搜索

    根据组件的业务需要,有时候搜索是把关键字返回给后台,后台处理后再把数据返回给前端渲染(多次请求服务器):有时候是前端把页面的数据全部获取下来,前端处理关键字的搜索(影响页面加载) 我这个文章是介绍第二 ...

  3. 一、netcore跨平台之 Linux上部署netcore和webapi

    这几天闲着的时候在linux上部署了一下netcore webapi,下面就纪要一下这个过程. 中间遇到不少的坑,心里都是泪啊. 话不多说,开始干活. ------------------------ ...

  4. Python项目开发公用方法--excel生成方法

    在实际开发中,我们有时会遇到数据导出的需求.一般的,导出的文件格式为Excel形式. 那么,excel的生成就适合抽离出一个独立的公用方法来实现: def generate_excel(excel_n ...

  5. nyoj 25-A Famous Music Composer(字符串)

    25-A Famous Music Composer 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:4 submit:9 题目描述: Mr. B i ...

  6. GCD 面试题

    今天我们讲解几道这两天遇到的面试题--GCD编程的.题目很不错,很考究关于GCD的基本概念和使用. 对于基本的概念,本人博客已在前面讲过,本篇主要以面试题来讲解.大家可看一下本人关于GCD的基本讲解  ...

  7. Zabbix-(六) JMX监控

    Zabbix-(六) JMX监控 一.前言 Zabbix提供了JMX监控,它通过JMX API获取JVM信息,从而提供监控数据.本文讲述使用JMX监控Tomcat的JVM信息. 准备 Zabbix S ...

  8. RAID5创建流程(3块做RAID,两块备份)

    https://www.cnblogs.com/meng-yu37/p/11739680.html(raid10链接) RAID5和RAID10 配置差不多,这里只指出不同的地方, 2. 使用mdad ...

  9. mysql基础之约束

    约束的目的: 1.约束保证数据的完整性和一致性. 2.约束分为表级约束 和 列级 约束.(针对约束字段的数目的多少来确定的) 3.约束类型包括 not null (非空约束) primary key( ...

  10. SpringBoot系列之i18n集成教程

    目录 1.环境搭建 2.resource bundle资源配置 3.LocaleResolver类 4.I18n配置类 5.Thymeleaf集成 SpringBoot系统之i18n国际化语言集成教程 ...