使用纯代码定义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; }

 

原文地址:https://www.cnblogs.com/niit-soft-518/p/4225584.html