• collectionview使用


    创建UICollectionViewFlowLayout 对象来设置相关的布局,包括itemSize,headerReferenceSize,sectionInset。设置对应的布局大小,相关的和顶部之间的间距等。

    UICollectionView创建对应的view并且定义对应的大小,设置代理方法和数据源对象。

    -(void)loadCollectionView
    {
        UICollectionViewFlowLayout * collectionViewFlow = [[UICollectionViewFlowLayout alloc]init];
       UICollectionView *collectView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, ScreenHeight, CGRectGetWidth(_homeScrollView.frame), 2000)collectionViewLayout:collectionViewFlow];
        
        collectView.dataSource = self;
        collectView.delegate = self;
        collectView.backgroundColor = [UIColor blueColor];
        [collectView registerClass:[CSHomeCollectionViewCell class] forCellWithReuseIdentifier:@"collectionCell"];
        collectionViewFlow.itemSize = CGSizeMake(93, 120);
        collectionViewFlow.sectionInset = UIEdgeInsetsMake(40, 0, 0, 0);
        collectionViewFlow.scrollDirection  = UICollectionViewScrollDirectionVertical;
        [_homeScrollView addSubview:collectView];
    }
    //datasource,delegate
    -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    {
        return 20;
    }
    -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    {
          CSHomeCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionCell" forIndexPath:indexPath];
        cell.topImage.image = [UIImage imageNamed:@"cludy_bg"];
        return cell;
    }

    从而来实现对应的方法,其中自定义的cell类

    -(instancetype)initWithFrame:(CGRect)frame
    {
        self =[super initWithFrame:frame];
        if (self) {
            self.backgroundColor = [UIColor grayColor];
            self.topImage = [[UIImageView  alloc]initWithFrame:CGRectMake(5, 5, MYSIZE.width-10, MYSIZE.height*0.6)];
            [self addSubview:_topImage];
            
            self.designer = [[UILabel alloc]initWithFrame:CGRectMake(5, CGRectGetHeight(self.topImage.frame), CGRectGetWidth(self.frame), 20)];
        
            self.designer.text = @"hello";
            [self addSubview:_designer];
            
    //        self.goodBtn = [UIButton alloc]initWithFrame:CGRectMake(0, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>)
            
        }
        return self;
    }

    当定义的时候,自动调用initwithframe函数来初始化

    纸上得来终觉浅,绝知此事要躬行
  • 相关阅读:
    iOS学习-UILabel
    react js
    代理模式
    利用gitbush从git上下载代码到本地
    VS2017企业版密钥
    office2016产品密钥及激活工具
    .netframe初识
    树的遍历——c#实现
    数据结构——总结
    单例模式
  • 原文地址:https://www.cnblogs.com/asheng/p/5172309.html
Copyright © 2020-2023  润新知