iOS-UICollectionView自定义布局
UICollectionView自定义布局
转载:
http://answerhuang.duapp.com/index.php/2013/11/20/custom_collection_view_layouts/
主要属性介绍
UITableView和UICollectionView都是由data-source和delegate驱动的.使用起来两者相似.
UICollectionViewCell
相当于table view中的cell, 用法也是一样的.
Supplementary views
相当于table view的section header和footer views。像cells一样,他们的内容都由数据源对象驱动。然而,和table view中用法不一样的是,supplementary view并不一定会作为header或footer view;他们的数量和放置的位置完全由布局控制。从这个角度来讲,和cell差不多.
Decoration views
纯粹为一个装饰品。他们完全属于布局对象,并被布局对象管理,他们并不从数据源获取他们的contents。当布局对象指定它需要一个decoration view的时候,collection view会自动创建,并为其应用布局对象提供的布局参数。并不需要准备任何自定义视图的内容。
UICollectionViewCell, Supplementary views和decoration views
必须是UICollectionResuableView的子类。每个你布局所使用的视图类都需要在collection view中注册,这样当data source让他从reuse pool中出列时,它才能够创建新的实例。
自定义布局用到函数介绍
-(CGSize)collectionViewContentSize
用来确定collectionView的ContentSize的大小
layoutAttributesForElementsInRect:
关键函数, 用来控制cell, Supplementary view, 还有Decoration view的自定义布局属性, 将这些自定义布局属性组成这个数组, 返回. 这些自动布局属性,分别通过下面的三个函数来获取的layoutAttributesForItemAtIndexPath
, layoutAttributesForSupplementaryViewOfKind
, layoutAttributesForDecorationViewOfKind
-(UICollectionViewLayoutAttributes )layoutAttributesForItemAtIndexPath:(NSIndexPath )indexPath
获取cell的自动布局属性
-layoutAttributesForSupplementaryViewOfKind:withIndexPath:
获取SupplementaryView的自动布局属性
-layoutAttributesForDecorationViewOfKind:withIndexPath:,
获取DecorationView的自动布局属性
-shouldInvalidateLayoutForBoundsChange:
当bound变化的时候, 调用此函数. 如果返回yes, 将调用layoutAttributesForElementsInRect
等一系列函数, 重新获取各个元素的自动布局.
例子:
下面为自己写的一个例子:
地址为: http://download.csdn.net/detail/daiyibo123/9144827
转载于:https://www.cnblogs.com/AbeDay/p/5026873.html
iOS-UICollectionView自定义布局相关推荐
- UICollectionView自定义布局(二)
这是UICollectionView自定义布局的第二篇,实现类似UltravisualApp的视差效果,同样这篇文章的教程来自Ray家的Swift Expanding Cells in iOS Col ...
- UICollectionView 自定义布局教程: Pinterest
原文: UICollectionView Custom Layout Tutorial: Pinterest 作者:Paride Broggi 译者:kmyhy 更新说明:本教程由 Paride Br ...
- UICollectionView 自定义布局!看这篇就够了
各位同学早上好,新的一周又开始啦!眨眼之间,我们就要与3月挥手告别了,时间过得可真快,不禁感慨道"无可奈何花落去,似曾相识燕归来". 最近,我花了很多的时间整理了 UICollec ...
- iOS开发学无止境 - UICollectionView自定义布局之风火轮[译]
现在有许多极具创造力的网站,几周前我碰巧浏览到一个名为Form Follows Function的网站,上面有各种交互动画.其中最吸引我的是网站上的导航转轮,转轮由各种交互体验海报组成. 原文:UIC ...
- Swift - 使用网格(UICollectionView)的自定义布局实现复杂页面
网格UICollectionView除了使用流布局,还可以使用自定义布局.实现自定义布局需要继承UICollectionViewLayout,同时还要重载下面的三个方法: 1 2 3 4 5 6 7 ...
- mac、iOS端支持自定义布局的collection控件的实现与设计
介绍 collection控件用来实现界面的各种自定义布局,最常用其作为横向.竖向的布局控件.很早之前,系统对于collection的支持并不是很好.所以自己实现了支持自定义布局.自定义cell的co ...
- iOS UICollectionView示例教程
In this tutorial we'll look into iOS UICollectionView component and develop a basic application out ...
- iOS之页面布局-踩坑的原由
iOS之页面布局 原文请点击 在<iOS 7 UI Transition Guide>中有在<iOS 7 UI Transition Guide>的Bar and Bar Bu ...
- Xamarin自定义布局系列——PivotPage(多页面切换控件)
原文:Xamarin自定义布局系列--PivotPage(多页面切换控件) PivotPage ---- 多页面切换控件 PivotPage是一个多页面切换控件,类似安卓中的ViewPager和UWP ...
最新文章
- 串行和并行的区别_入门参考:从Go中的协程理解串行和并行
- Google BERT应用之《红楼梦》对话人物提取
- SpringCloud与dubbo的区别
- Libre OJ 「BalticOI 2013」非回文数 数位dp
- python如何显示时间_如何让python显示当前时间(东部)
- mysql not exists很慢_查询速度优化用not EXISTS 代替 not in
- docker 安装镜像失败_docker(mips 64)安装中文字符集失败
- 征集 | AAAI 2021线下论文预讲会讲者征集
- 入门到精通pl/sql编程(千里之行始于足下)之触发器
- 安卓实现百度地图定位
- 虚拟机安装与双系统(win10+ubuntu)安装及其他
- 两个PDF比较标出差异_找出两份Word文档差异,你加班2小时完成,同事只用1分钟搞定...
- 网站怎么做SEO优化操作?
- CloneZilla再生龙 | 打造自己的深度学习镜像
- [研一上]人脸属性迁移文献梳理(1)
- CSDN 写文章报错:标题含有非法字符,请修改的解决方法
- Superpoint复现过程——踩坑实录分享
- 跟谁学盈利神话已破,烧钱大战没有赢家
- outlook默认签名设置_如何将默认签名添加到Outlook会议请求
- Android实现语音发送播放功能以及示例代码
热门文章
- 厦门GDP超过万亿需要多少年时间?
- 商业认知,新的一年已经开始,许多老板都制订了新的目标
- 线下社群要如何拉新呢?
- Number()函数转换‘单个数值的数组‘为何是数字?【JavaScript】
- sql server 入门_SQL Server查询调整入门
- odbc驱动程序配置失败_如何使用ODBC驱动程序配置链接服务器
- olap 多维分析_如何通过依赖T-SQL从OLAP多维数据集有效地提取数据
- centos7 如何使用ReaR进行系统备份(如何使用NFS方法设置ReaR备份)
- 数据结构:判断是否为同一棵二叉搜索树
- Chemical table CFR500 div2D(并查集)