zoukankan      html  css  js  c++  java
  • 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;
    }

     

  • 相关阅读:
    Backtracking_37. 解数独
    Backtracking_131. 分割回文串
    DFS_90. 子集 II
    DFS_78. 子集
    DFS_216. 组合总和 III
    非对称加密和ssh免密登陆验证、邮件发送接收、网站CA证书验证
    hibernate一对多哪一方放弃权利?
    关于java转json的一些细节问题
    一个web程序中访问频率较高的url为什么要加时间戳?(特别是异步加载)
    阿里电面经验
  • 原文地址:https://www.cnblogs.com/qiyiyifan/p/7305434.html
Copyright © 2011-2022 走看看