IOS--纯代码实现UICollectionView

1.初始化一个UICollectionView

@property (nonatomic, strong) UICollectionView *shareCollectionView;

2.设置基本属性

CGFloat itemWidth = (SCREEN_W - 40 ) / 4.5;
    CGFloat itemHeight = 100;
    UICollectionViewFlowLayout *shareflowLayout = [[UICollectionViewFlowLayout alloc] init];
    shareflowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    shareflowLayout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 15);
    shareflowLayout.itemSize =CGSizeMake(itemWidth, itemHeight);
    _shareCollectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_W, 100) collectionViewLayout:shareflowLayout];
    _shareCollectionView.backgroundColor = [UIColor clearColor];
    [self.footView addSubview:_shareCollectionView];
    [_shareCollectionView registerClass:[HMShareCollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
    _shareCollectionView.delaysContentTouches = NO;
    _shareCollectionView.delegate = self;
    _shareCollectionView.dataSource = self;
    _shareCollectionView.scrollEnabled = YES;
    _shareCollectionView.showsHorizontalScrollIndicator = NO;

3.实现代理方法

#pragma mark collectionView代理方法

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return 1;
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
   
     return _shareTypeArr.count;
    
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    HMShareCollectionViewCell *cell = (HMShareCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
    //设置数据
    
    return cell;
}

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"%@",indexPath);
    
}

4.cell的设置 .m

- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        //设置控件
    }
    return self;
}

 

原文地址:https://www.cnblogs.com/qiyiyifan/p/7305434.html