集合视图UICollectionView
来源:互联网 发布:wampserver mac版 编辑:程序博客网 时间:2024/05/17 01:26
9.30 ——今天学习了UICollectionView集合视图
首先我们介绍的是 什么是集合视图?
UICollectionView 也称为集合视图
UICollectionView是一种新的数据展示方式,简单来说可以把它理解成多列的UITableView(注意:这是UICOllectionView的最最简繁的形式)
如果你用过iBooks的话,可能你还对书架布局有一定印象:一个虚拟书架是哪个放着你下载和购买的各类图书,整齐排列。
其实这就是一个UICollectionView的表现形式,或者iPad的iOS6中的原生时钟应用中的各个时钟,也是UICollectionView的最简单的一个布局。
集合视图
UICollectionView与UITableView的实现类似,都需要设置Delegate和dataSource
在collectionView中,cell的布局比TableView复杂,需要使用一个类描述集合视图的布局和行——UICollectionViewLayout
创建UICollectionView
集合视图的创建
创建集合视图的步骤
1.使用系统的布局UICollectionViewFlowout
2.设置代理,设置数据源。
3.设置自定义cell
数据源
我们需要给CollectionView指定一个数据源,它负责给collectionView提供数据与显示。
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section显示多少个元素
-(NSInteger)collectionView:(UICollectionView *)collectionView cellForItemIndexPath:(NSIndexPath *)indexPath显示cell
UICollectionViewLayout布局
UICollectionViewFlowlayout 是一个基类,集合视图使用,UICollectionViewLayout的子类实现布局。
UICollectionViewFlowlayout 是系统提供的网格形式的布局类,只需要简单的配置。
UICollectionViewLayout的几个属性
minimumLineSpacing 最小上下间距
minimumInteritemSpacing 最小左右间距
itemSize cell大小
scrollDirection 滚动方向
headerReferenceSize 页眉大小
footerReferenceSize 页脚大小
sectionInset section中cell的边界范围
自定义cell
UICollectionView使用UICollectionViewCell创建Cell
UICollectionView包含contentView,但是没有提供其他空间(与TableView不同)
通常都是用自定义cell
布局协议
通过协议设定
刚才我们通过对UICollectionViewFlowLayout的设定来改变布局。
但是这种限制性比较大,对于一些类似于瀑布流的效果我们就难以实现。
我们所使用的协议是UICollectionViewDelegateFlowLayout它是对UICollectionViewDelegate的扩展
- (CGSize)collectionView:(UICollectionView *)collectionView:layout:(UICollectionViewLayout *)collectionViewLayout sizeForItenIndexPatj:(NSIndexPath *)indexPath
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section
总结
集合视图UICollectionView和表视图UITableView很相似,可根据layout 属性设置,显示单元格集合内容,
UICollectionViewDataSource类作为集合视图的数据源,向集合视图提供数据,集合视图依赖于委托(Delegate)中定义的方法对用户交互进行响应。
可以通过UICollectionViewDelegateFlowLayout来对其进行cell的自定义布局,它是UICollectionViewDelegate的扩充
自定义cell
- 关于集合视图UICollectionView
- UICollectionView 集合视图
- UICollectionView 集合视图详解
- UICollectionView 集合视图详解
- iOS8 UICollectionView 集合视图
- UICollectionView 集合视图
- 42.集合视图(UICollectionView)
- UICollectionView 集合视图
- 集合视图UICollectionView
- 集合视图 UICollectionView
- 52.集合视图UICollectionView
- UICollectionView-集合视图
- UICollectionView 集合视图 的使用
- OCiOS开发:集合视图 UICollectionView
- iOS开发 -- UICollectionView(集合视图)
- iOS开发:集合视图 UICollectionView
- iOS编程------集合视图UICollectionView
- 集合视图UICollectionView 介绍及其示例程序
- linux个人学习笔记---linux文件类型
- 面试Java需要的知识总结
- 一道百度的盒子模型的笔试题
- 证券基础--公司治理
- dede 常用网站开发标签
- 集合视图UICollectionView
- 软件工程文档总结
- BIOS入门之我见-预热
- iOS_NSAttributeString
- django搭建blog
- MSCOMCTL.OCX文件缺失问题
- ssoj2427: 学数数(RMQ)
- SSH框架总结(框架分析+环境搭建+实例源码下载)
- JdbcTemplate查询(Spring框架中的工具类)