UICollectionView 笔记
来源:互联网 发布:挑战韩网络加速器 编辑:程序博客网 时间:2024/06/06 20:32
与UITableView的初步比较
相同点:
- 都了通过datasource和delegate协议进行驱动。
- 性能上都实现了循环利用的优化。
不同点:
- UITableview 是系统自动布局,UICollectionView 是自定布局。
- UICollectionView 需要实现UICollectionViewLayout。
- 滚动方向不同。
- UICollectionView 只能通过注册确定重用标识符。
UICollectionView的结构
- Cells
- Supplementary Views 追加视图 (类似Header或者Footer)
- Decoration Views 装饰视图 (用作背景展示)
UICollectionViewLayoutAttributes类
包含了collection view内item的所有相关布局属性。默认情况下,这个类包含frame,center,size,transform3D,alpha,zIndex属性
UICollectionViewFlowLayout
UICollectionView的精髓所在是因为UICollectionViewFlowLayout。UICollectionViewFlowLayout主要负责UICollectionView的布局。UICollectionViewFlowLayout包含
@property (nonatomic) CGFloat minimumLineSpacing;@property (nonatomic) CGFloat minimumInteritemSpacing;@property (nonatomic) CGSize itemSize;@property (nonatomic) CGSize estimatedItemSize NS_AVAILABLE_IOS(8_0); // defaults to CGSizeZero - setting a non-zero size enables cells that self-size via -preferredLayoutAttributesFittingAttributes:@property (nonatomic) UICollectionViewScrollDirection scrollDirection; // default is UICollectionViewScrollDirectionVertical@property (nonatomic) CGSize headerReferenceSize;@property (nonatomic) CGSize footerReferenceSize;@property (nonatomic) UIEdgeInsets sectionInset;
UICollectionViewLayout
理解布局的核心过程。
UICollectionViewLayout 直接影响这UICollectionView的整个布局信息。当UICollectionView第一次显示时都会访问layout对象,并提供布局信息给它。布局时过程如下:
prepareLayout 主要可以提前计算一些布局信息。
collectionViewContentSize 。返回collectionView 的contentSize。
- layoutAttributesForElementsInRect: 返回指定rect的所有cell的属性。
做删除和增加cell的动画
- initialLayoutAttributesForAppearingItemAtIndexPath:
- finalLayoutAttributesForDisappearingItemAtIndexPath:
上面方法新插入或者删除的元素并没有最初或最终状态来进行插值和动画。在此之前你可以利用prepareForCollectionViewUpdates:来做一些准备工作。或者利用finalizeCollectionViewUpdates 做一些结束工作。
阅读全文
0 0
- UICollectionView 笔记
- UICollectionView笔记一:BASIC
- UICollectionView笔记-1
- UICollectionView笔记-2
- 关于UICollectionView一些笔记
- UICollectionView使用笔记
- 归纳笔记010:UICollectionView
- iOS UICollectionView笔记
- UICollectionView笔记1
- UICollectionView笔记2
- UICollectionView基础API笔记
- ios学习笔记:UICollectionView收集
- 小胖说事23-----UICollectionView基础笔记
- iOS学习笔记 UICollectionView入门
- UICollectionView
- UICollectionView
- UICollectionView
- UICollectionView
- 1、重识MySQL-MySQL的介绍与安装
- Plain style tableView禁止header和footer浮动的方法
- 根据 某年 及 该年多少周 获取日期对象
- MySql常用命令
- ExceptionInInitialize Access to DialectResolutionInfo cannot be null when 'hibernate.dialect'not set
- UICollectionView 笔记
- Android AppCompat 库详解
- hjr-SQL-Mongotemplet配置和使用
- jQuery选择器总结
- C++ Set常用用法
- 好玩的JS Dom点击事件及特效
- 14 子查询
- linux-ls命令参数详解&统计目录下文件和目录的个数实例
- Leetcode#1: twoSum