首页 > 代码库 > IOS6-UICollectionViewController
IOS6-UICollectionViewController
CollectViewController.h
@interface CollectViewController : UIViewController<UICollectionViewDataSource,UICollectionViewDelegate>@property(nonatomic,retain)NSMutableArray *dataSource;@property(nonatomic,retain)UICollectionView *myCollectionView;//类似于UITableView
@end
CollectViewController.m
#import "CollectViewController.h"#import "CollectCell.h"#import "CollectLayout.h"@interface CollectViewController ()@end@implementation CollectViewController- (void)viewDidLoad{ [super viewDidLoad]; UIImageView *bgImageVeiw = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"sharebg"]]; CollectLayout *rac = [[CollectLayout alloc]init]; self.myCollectionView = [[UICollectionView alloc]initWithFrame:self.view.frame collectionViewLayout:rac];//根据位置大小和collectView布局初始化 [self.myCollectionView registerClass:[CollectCell class] forCellWithReuseIdentifier:@"customCell"];//设置cell的类型 self.myCollectionView.delegate = self; self.myCollectionView.dataSource = self; [self.view addSubview:self.myCollectionView]; self.myCollectionView.backgroundView = bgImageVeiw; self.dataSource = [NSMutableArray arrayWithCapacity:30]; for (int i = 1; i <= 20; i++) { NSDictionary *dic = @{@"imageName":[NSString stringWithFormat:@"%d.jpg",i],@"titleName":[NSString stringWithFormat:@"%d",i]}; [self.dataSource addObject:dic]; }}-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{ return self.dataSource.count/2;//有2个section}-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ return 2;//每个section有2列}-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ CollectCell *collectionCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"customCell" forIndexPath:indexPath]; if (!collectionCell) { return nil; } NSString *imageName = [[self.dataSource objectAtIndex:(indexPath.section*2+indexPath.row)] objectForKey:@"imageName"]; NSString *titleName = [[self.dataSource objectAtIndex:(indexPath.section*2+indexPath.row)] objectForKey:@"titleName"]; collectionCell.collectImageView.image = [UIImage imageNamed:imageName]; collectionCell.collectContent.text = titleName; return collectionCell;}@end
CollectLayout.m(作用:对CollectionView布局)
#import "CollectLayout.h"@implementation CollectLayout-(id)init{ self = [super init]; if (self) { self.itemSize = CGSizeMake(150, 150);// self.scrollDirection = UICollectionViewScrollDirectionHorizontal; self.sectionInset = UIEdgeInsetsMake(20.0, 0.0, 0.0, 0.0); self.minimumLineSpacing = 50.0; self.minimumInteritemSpacing = 0.0; } return self;}@end
CollectCell.h(类似于UITableCell)
@interface CollectCell : UICollectionViewCell@property(nonatomic,retain)UIImageView *collectImageView;@property(nonatomic,retain)UILabel *collectContent;@end
CollectCell.m
#import "CollectCell.h"@implementation CollectCell- (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { self.frame = CGRectMake(0, 0, 150, 150); UIImageView *bgImageView =[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"BookShelfCell"]]; bgImageView.frame = CGRectMake(0, 0,150,150); [self.contentView addSubview:bgImageView]; self.collectImageView = [[UIImageView alloc]initWithFrame:CGRectMake(25,10, 100, 100)]; [self.contentView addSubview:self.collectImageView]; self.collectContent = [[UILabel alloc]initWithFrame:CGRectMake(0, 110,150,30)]; self.collectContent.textAlignment = NSTextAlignmentCenter; [self.contentView addSubview:self.collectContent]; } return self;}@end
Demo下载:https://github.com/forrHuen/CollectViewControllerDemo
IOS6-UICollectionViewController
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。