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

     

  • 相关阅读:
    scp命令详解
    linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)
    详解代理自动配置 PAC
    linux卸载
    VMware里克隆出来的CentOS Linux device eth0 does not seem to be present, delaying initialization
    CentOS系统更换软件安装源yum
    kali开启禁止或删除ssh 开机启动
    7天玩转 ASP.NET MVC
    C#高级编程42章 MVC
    C#高级编程(32章)ADO.net
  • 原文地址:https://www.cnblogs.com/qiyiyifan/p/7305434.html
Copyright © 2011-2022 走看看