UICollectionView的布局
2015-10-09 23:31
393 查看
UICollectionViewLayout决定UICollectionView的显示风格和每个UICollectionViewCell的尺寸、排布等。
如何自定义布局?
继承自
继承自
重点讲解:
每个UICollectionViewCell都有自己的
一.继承自
二.继承自
如何自定义布局?
继承自
UICollectionViewFlowLayout类(最根本的布局)
继承自
UICollectionViewLayout类(流水布局)
重点讲解:
UICollectionViewLayoutAttributes类
每个UICollectionViewCell都有自己的
UICollectionViewLayoutAttributes
一.继承自
UICollectionViewFlowLayout类,重写父类的方法来定制UICollectionViewFlowLayout
//只要显示的边界发生改变就会重新布局:内部重新调用layoutAttributesForElementsInRect方法获取所有cell的布局属性 -(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds{ return YES; } //Elements:UICollectionViewCell //rect指的的UICollectionView的尺寸,即我们可视化的尺寸 //该方法返回的是Cells的Attributes -(NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect{ return [super layoutAttributesForElementsInRect:rect]; //在这里对cell进行自定义 } //一些初始化的工作最好在这里实现 -(void)prepareLayout{ [super prepareLayout]; }
二.继承自
UICollectionViewLayout类
-(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds{ return YES; } -(NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect{ NSMutableArray* array=[NSMutableArray array]; NSInteger count=[self.collectionView numberOfItemsInSection:0]; for(int i=0;i<count;i++){ UICollectionViewLayoutAttributes* attrs=[UICollectionViewLayoutAttributes layoutAttributesForCellWithIndexPath:[NSIndexPath indexPathForItem:i inSection:0]]; //这里设置利用attrs设置属性 [array addObject:attrs]; } return array; } //设置指定的UICollectionViewCell可以调用这个方法 -(UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath{ }
相关文章推荐
- PKU 1140 - Brackets Sequence (区间dp + 记忆化)
- IOS笔记UI--UI控件的灵活运用
- (转帖)关于easyui中的datagrid在加载数据时候报错:无法获取属性"Length"的值,对象为null或未定义
- EasyUI - Draggable 拖动控件
- Quick Sort
- 百度 在线编辑器ueditor1_4_3使用方法及配置
- UITabBarController自定义风格Item
- ios笔记UI--汤姆猫小项目(UIbutton使用)
- iOS:手势的详解UIGestureReconizer
- iOS界面编程-UIActionSheet
- iOS中 UIToolBar 技术分享
- iOS中 UIToolBar 技术分享
- UITabBarController的用法 及使用系统风格Item
- UI第十七讲.图片异步加载(包括第三方), KVO, KVC
- hdu 1423 Greatest Common Increasing Subsequence 最长公共上升子序列
- ios可视化编程 UI高级 UI_13
- ios可视化编程 UI高级 UI_13
- java字符串拼接技巧(StringBuilder使用技巧)
- UINavigationBar美化
- 用plist建立UITabController