UICollectionView基础使用

用到了UICollectionView,所以就搞了下,这个View就是类似于tableView,区别网上说了一大堆了,就是布局的区别。这里先写一个最基础的使用,然后在抽空把一个完整的特例写一个。

.h文件,就是创建一个UICollectionView,然后继承他的各种代理

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout>

@property(strong,nonatomic)UICollectionView * myCollection;

@end

.m文件,这里都是写死了,主要演示下最基础的创建过程,个性话的主要就是个性化cell和布局上面,先记录下最基础的,个性化的后面再说。

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    //定义flowLayout
    UICollectionViewFlowLayout *flowLayout=[[UICollectionViewFlowLayout alloc] init];
    [flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
    
    //可选定义item的其他选项,在UICollectionViewFlowLayout类里面
    flowLayout.itemSize = CGSizeMake(100, 100);
    
    self.myCollection = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, 500, 700) collectionViewLayout:flowLayout];
    self.myCollection.delegate = self;
    self.myCollection.dataSource = self;
    [self.myCollection setBackgroundColor:[UIColor redColor]];
    
    //注册cell
    [self.myCollection registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
    
    [self.view addSubview:self.myCollection];
    
}

#pragma UICollectionViewDataSource
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return 10;
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"Cell Init");
    UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
    cell.backgroundColor = [UIColor blueColor];
    return cell;
}

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return 1;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end

默认创建也就是这样的,效果是这样的

Simulator Screen Shot 2016年8月10日 14.48.01.png

后面看看文章,然后弄下个性化的进阶用法,这个基础的先记录下,是最基本的直接用

Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment