您的位置:首页 > 产品设计 > UI/UE

UI整理-----part5--UICollectionView

2016-02-21 10:38 369 查看
(1)可以理解成多列的UITableView(这是UICollectionView的最简单的形式)

(2)实现一个UICollectionView和实现一个UITableView基本没什么大区别,它们同样都是由dataSource和delegate设计模式的:dataSource为View提供数据源,delegate提供一些样式的小细节以及用户交互响应

(3)保证CollectionView正常工作的三个方法:

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView section的数量

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section 某个section里有多少item

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 对于某个位置应该显示什么样的cell

(4)UICollectionViewCell的布局是由UICollectionViewLayout类的子类 UICollectionViewFlowLayout 决定的:

{

UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];

layout.itemSize = CGSizeMake(100, 100);

layout.minimumInteritemSpacing = 20; //设置单元格水平间隔,默认为10

layout.minimumLineSpacing = 20; //设置行间距为20

layout.sectionInset = UIEdgeInsetsMake(10, 10, 10, 10); //设置与边框距离

layout.scrollDirection = UICollectionViewScrollDirectionVertical; //设置滚动方向

layout.headerReferenceSize = CGSizeMake(0, 200); //设置头部视图大小只需要设置height

}

(5)在创建完布局类之后,需要实现实例化一个UICollectionView

UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];

(6)通过注册的方式创建单元格头视图[collectionViewregisterClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"head"]; 其中:UICollectionReusableView——collectionView共用的类 UICollectionElementKindSectionHeader——注册头视图的类型

(7)触摸事件:- (void)collectionView:(UICollectionView *)collectionViewdidSelectItemAtIndexPath:(NSIndexPath *)indexPath
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: