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;
    }

     

  • 相关阅读:
    Button 样式设置
    WPF 运行报错:在使用 ItemsSource 之前,项集合必须为空。
    c# List 按条件查找、删除
    c# WPF DataGrid设置一列自增一
    C# WPF DataGrid去掉最左侧自动生成一列
    int 转换成定长的 byte数组
    字节数组 byte[] 与 int型数字的相互转换
    [ c# ] int 类型转换为固定长度的字符串
    ListView 绑定 字典
    不能引用的文件,却需要在程序底层使用的文件 的存放位置
  • 原文地址:https://www.cnblogs.com/qiyiyifan/p/7305434.html
Copyright © 2011-2022 走看看