iOS-集合视图-UIcollectionView
iOS-集合视图-UIcollectionView

iOS-集合视图-UIcollectionView
iOS-集合视图-UIcollectionView
//
// ViewController.m
// UI20_UIcollectionView
//
// Created by YIem on 16/3/8.
// Copyright © 2016年 YIem. All rights reserved.
//

import "ViewController.h"

import "CollectionViewCell.h"

@interface ViewController ()<UICollectionViewDataSource, UICollectionViewDelegate>

@end

@implementation ViewController

  • (void)viewDidLoad {

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.view.backgroundColor = [UIColor whiteColor];
    self.navigationItem.title = @"YIem";
    
    // UICollectionViewFlowLayout 是一个抽象类, 一般使用他的子类
    UICollectionViewFlowLayout *flowL= [[[UICollectionViewFlowLayout alloc] init] autorelease];
    // 注意 垂直与滚动方向的 是一行
    // 注意, 最小- 系统会尽可能的向设置值靠近, 却不会小设置的最小值
    // 最小行间距
    flowL.minimumLineSpacing = 100;
    // 最小列间距
    flowL.minimumInteritemSpacing = 10;
    // 单元大小
    flowL.itemSize = CGSizeMake(20, 20);
    // 区头间距
    flowL.headerReferenceSize = CGSizeMake(5, 5);
    // 区脚间距
    flowL.footerReferenceSize = CGSizeMake(5, 5);
    // 与屏幕四边的距离
    flowL.sectionInset = UIEdgeInsetsMake(10, 30, 10, 30);
    // 滚动方向
    flowL.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    
    // 参数1:界面大小
    // 参数2:布局
    UICollectionView *collectionV = [[UICollectionView alloc] initWithFrame:self.view.frame collectionViewLayout:flowL];
    collectionV.backgroundColor = [UIColor greenColor];
    collectionV.delegate = self;
    collectionV.dataSource = self;
    [self.view addSubview:collectionV];
    [collectionV release];
    
    // 注册cell(重用)
    [collectionV registerClass:[CollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
    
    

}

  • (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    {
    return 100;
    }
  • (UICollectionViewCell )collectionView:(UICollectionView )collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    {
    CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
    // cell.backgroundColor = [UIColor redColor];

    // CollectionViewCell *a = [[CollectionViewCell alloc] init];
    cell.label.text =[NSString stringWithFormat:@"%ld", indexPath.row];
    return cell;

    }

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

@end



屏幕快照 2016-03-10 下午3.59.27.png
//
// CollectionViewCell.h
// UI20_UIcollectionView
//
// Created by YIem on 16/3/8.
// Copyright © 2016年 YIem. All rights reserved.
//

import <UIKit/UIKit.h>

@interface CollectionViewCell : UICollectionViewCell

  • (instancetype)initWithFrame:(CGRect)frame;
  • (void)econt;
    @property (nonatomic, retain) UILabel *label;

@end


iOS-集合视图-UIcollectionView
//
// CollectionViewCell.m
// UI20_UIcollectionView
//
// Created by YIem on 16/3/8.
// Copyright © 2016年 YIem. All rights reserved.
//

import "CollectionViewCell.h"

@implementation CollectionViewCell

  • (instancetype)initWithFrame:(CGRect)frame
    {
    self = [super initWithFrame:frame];
    if (self) {

    [self econt];

    }
    return self;
    }

  • (void)econt
    {
    self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
    _label.backgroundColor = [UIColor cyanColor];
    _label.text = @"YIem";
    [self.contentView addSubview:_label];
    [_label release];
    }

@end