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

2015/10/21 UICollectionViewController 使用

2015-10-21 23:19 483 查看
学习UICollectionViewController的使用。

1.在创建的时候首先需要告诉控制器cell以什么样式显示 ,重写init初始化,在init方法中 UICollectionViewFlowLayout 控制cell的间距,大小,内边距

    需要使用UICollectionViewDelegateFlowLayout 代理方法

- (instancetype)init

{

    // 1.流水布局

UICollectionViewFlowLayout *layout =

[[UICollectionViewFlowLayout alloc] init];

    // 2.每个cell的尺寸

    layout.itemSize = CGSizeMake(80, 80);

    // 3.设置cell之间的水平间距

    layout.minimumInteritemSpacing = 0;

    // 4.设置cell之间的垂直间距

    layout.minimumLineSpacing = 10;

    // 5.设置所有cell组成的一个整体与屏幕(ViewController)四周距离

layout.sectionInset =

UIEdgeInsetsMake(layout.minimumLineSpacing, 0, 0, 0);

    return [super initWithCollectionViewLayout:layout];

}

2.在cell的创建时候,需要在界面初始化的时候告诉控制器cell的ID是多少,使用那一种cell,是自定义的,还是xib的 还是系统的。

1)注册cell(告诉collectionView将来创建怎样的cell)

[self.collectionView registerClass:[UICollectionViewCell class]

forCellWithReuseIdentifier:@"product"];

在调用- (UICollectionViewCell *)collectionView:(UICollectionView

*)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;设置每个单元格显示的内容(UICollectionViewCell)之前必须注册cell,一般在viewDidLoad中调用上面方法注册cell。

例如:

- (void)viewDidLoad

{

    [super viewDidLoad];

   

    // 1.注册cell(告诉collectionView将来创建怎样的cell)

    UINib *nib = [UINib nibWithNibName:@"MJProductCell" bundle:nil];

[self.collectionView registerNib:nib forCellWithReuseIdentifier:

MJProductCellID];//通过xid自定义的cell

    /*

[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:MJProductCellID];//使用默认的UICollectionViewCell

*/

3.cell跟tabview的区别还有一点是  cell的行是 indexPath。row

                                                       UICollectionViewCell的行是    indexPath。item

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: