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

时间:2022-12-20 10:38:21

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