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 =@"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常用的布局方式总结的更多相关文章
- Android开发之基本控件和详解四种布局方式
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...
- 两种最常用的Sticky footer布局方式
Sticky footer布局是什么? 我们所见到的大部分网站页面,都会把一个页面分为头部区块.内容区块和页脚区块,当头部区块和内容区块内容较少时,页脚能固定在屏幕的底部,而非随着文档流排布.当页面内 ...
- 【深入篇】Android常用布局方式简介
LinearLayout 线性布局是程序中最常见的布局方式.一般分为水平线性布局和竖直线性布局,通过android.orientation属性可以设置线性布局的方向. 在布局中操作颜色时,要用的是十六 ...
- Android 常用UI控件之TabHost(1)TabHost的两种布局方式
TabHost是Android中的tab组件. TabHost布局文件的基本结构 TabHost下有个layout,这个layout中有TabWidget与FrameLayout.TabWidget是 ...
- CSS常用布局方式-两列布局、三列布局
CSS基础 2.几种布局方式1)table布局 当年主流的布局方式,第一种是通过table tr td布局 示例: <style type="text/css"> ta ...
- 自定义UICollectionViewController之后 如何设置UICollectionView的布局方式
我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView 通过初始化的时候 传入一个布局对象的方式来使用UICollectionView 比如我们之前 ...
- 【转】Android开发学习笔记:5大布局方式详解
Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(Tabl ...
- 通过scrollerview自定义collectionview(常用于推荐关注界面)
最近项目上要实现一个效果,先把效果图摆上来吧: 刚看到效果图的时候 我觉得很简单 用UICollectionview就可以了 但是后来发现collectionview只有两种布局方式 比较单一 ...
- 关于SWT中的GridLayout布局方式
GridLayout 布局的功能非常强大,也是笔者常用的一种布局方式.GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序 ...
随机推荐
- Weblogic 12c 的 Apache HTTP Server 整合插件(Plug-In)下载地址
资料来源:到哪里下载Weblogic 12c 的Plug-In 为 Apache HTTP Server 摘录如下: 最新的Weblogic 12c不再为 Apache HTTP Server提供缺省 ...
- HTTP的请求方式
GET 请求获取 Request-URI 所标识的资源POST 在 Request-URI 所标识的资源后附加新的数据HEAD 请求获取由 Request-URI 所标识的资源的响应消息报头PUT ...
- 用这个库 3 分钟实现让你满意的表格功能:Bootstrap-Table
本文作者:HelloGitHub-kalifun 这是 HelloGitHub 推出的<讲解开源项目>系列,今天给大家推荐一个基于 Bootstrap 和 jQuery 的表格插件:Boo ...
- yum 配置文件 以及 语法
yum的配置文件 #vi /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache= debugleve ...
- nyoj 61-传纸条(一)(双向dp)
61-传纸条(一) 内存限制:64MB 时间限制:2000ms Special Judge: No accepted:8 submit:37 题目描述: 小渊和小轩是好朋友也是同班同学,他们在一起总有 ...
- LeetCode51 N皇后——经典dfs+回溯(三段式解法)
代码如下: class Solution { public: // record[row] 该行对应的列 vector<vector<string> > ans; // 结果集 ...
- 详解 PHP 中的三大经典模式
单例模式 单例模式的含义: 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例.它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用. 单例模式 ...
- Java学习笔记 线程池使用及详解
有点笨,参考了好几篇大佬们写的文章才整理出来的笔记.... 字面意思上解释,线程池就是装有线程的池,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程 ...
- Promise.all()
Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise ...
- 2019-11-24:postgresql数据库安装,最后报错failed to load SQLModule 问题的解决方案
安装环境:Windows 10 问题描述:Failed to load sql modules into the database cluster 原因在于 Postgresql 没有安装完全. 解决 ...