iOS中ColletionView的简单使用

XIB拖一个ColletionView到界面中,


#import "ColletionViewController.h"


@interface ColletionViewController ()<UICollectionViewDataSource,UICollectionViewDelegate>


@property (strong, nonatomic) IBOutlet UICollectionView *tryCollectionView;


@end


@implementation ColletionViewController


- (void)viewDidLoad {

    [super viewDidLoad];

   

    

    self.view.backgroundColor = [UIColor whiteColor];

    

    //注册

    [_tryCollectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"UICollectionViewCell"];

    //滚动方向

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

    [flowLayOut setScrollDirection:UICollectionViewScrollDirectionVertical];

    _tryCollectionView.collectionViewLayout = flowLayOut;

   

    _tryCollectionView.delegate = self;

    _tryCollectionView.dataSource = self;

}


#pragma mark - <UICollectionViewDataSource,UICollectionViewDelegate>

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section

{

    return 10;

}


- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView

{


    return 1;

}


-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

{


    static  NSString * cellId = @"UICollectionViewCell";

    UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellId forIndexPath:indexPath];

    UIImageView * collectionImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 60, 60)];


    collectionImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"头像%ld.jpg",(long)indexPath.row + 1]];

    [cell.contentView addSubview:collectionImageView];

    

    return cell;

}


//每个items的大小

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath

{


    return CGSizeMake(100, 100);

}


//定义每个UICollectionView margin

-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section

{

    return UIEdgeInsetsMake(5, 5, 5, 5);

}



//UICollectionView被选中时调用的方法

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath

{

    UICollectionViewCell * cell = (UICollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];

    //临时改变个颜色,看好,只是临时改变的。如果要永久改变,可以先改数据源,然后在cellForItemAtIndexPath中控制。(和UITableView差不多吧!O(∩_∩)O~

    cell.backgroundColor = [UIColor greenColor];

    NSLog(@"item======%ld",(long)indexPath.item);

    NSLog(@"row=======%ld",(long)indexPath.row);

    NSLog(@"section===%ld",(long)indexPath.section);

}


//返回这个UICollectionView是否可以被选择

-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath

{

    return YES;

}



@end

XIB布局图,






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值