首页 > 代码库 > 使用纯代码定义UICollectionView和自定义UICollectionViewCell

使用纯代码定义UICollectionView和自定义UICollectionViewCell

1.自定义UICollectionView

2.实现<UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,UICollectionViewDelegate>协议

 UICollectionViewFlowLayout *flowLayout=[[UICollectionViewFlowLayout alloc] init];            flowLayout.itemSize=CGSizeMake(60,60);            [flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];                        UICollectionView *collectionView =[[UICollectionView alloc]initWithFrame:CGRectMake(0, 40, self.view.frame.size.width, self.view.frame.size.height) collectionViewLayout:flowLayout];                        [collectionView registerClass:[customCollectCell class]                    forCellWithReuseIdentifier:@"myIdentifier"];            [collectionView setBackgroundColor:[UIColor whiteColor]];            collectionView.dataSource=self;            collectionView.delegate=self;                        [myControl addSubview:collectionView];

 

3.自定义cell

  

-(id)initWithFrame:(CGRect)frame{    self=[super initWithFrame:frame];    if (self) {        UIView *view=[[UIView alloc]init];        [view setFrame:CGRectMake(5, 0, 60, 60)];        view.layer.cornerRadius=4;        view.layer.masksToBounds=YES;
     //item被选中时的背景色,可以不用设置 [view setBackgroundColor:[UIColor lightGrayColor]]; self.selectedBackgroundView=view; float offset_x=5; float offset_y=0; { _myimageView=[[UIImageView alloc]initWithFrame:CGRectMake(15, offset_y, 60,60)]; [_myimageView setContentMode:UIViewContentModeScaleAspectFill]; [self addSubview:_myimageView]; _myLabel=[[UILabel alloc]initWithFrame:CGRectMake(offset_x, offset_y+70, 60, 20)]; [_myLabel setTextAlignment:NSTextAlignmentCenter]; [_myLabel setFont:[UIFont systemFontOfSize:12]]; [_myLabel setTextColor:[UIColor redColor]]; [self addSubview:_myLabel]; } } return self;}

 

 技术分享

使用纯代码定义UICollectionView和自定义UICollectionViewCell