美文网首页我的收藏技术提升
iOS 轮播图使用UICollectionView封装重写的La

iOS 轮播图使用UICollectionView封装重写的La

作者: _菩提本无树_ | 来源:发表于2020-02-27 19:31 被阅读0次

    自我测试无卡顿,无崩溃闪退,效果不是很复杂就是很稳

    效果图先上,先看看效果Demo下载地址

    文件位置CollectionCycleView文件内容下

    正常模式 轮播图效果

    新增几种效果图,代码明日上传2020-02-27

    hi.gif his.gif offsetY.gif

    代码已上传2020-02-28

    下载地址https://github.com/LuckDDS/DDCollectionCycleView

    使用说明2020-02-29

    DDCollectionCycleView

    CollectionView实现的一款轮播图,喜欢点赞

    2020-02-28第一次编辑

    使用说明

    1.需要导入使用的文件

    DDCollectionCycleLayout,DDCollectionCycleBackView
    
    屏幕快照 2020-03-05 上午10.51.32.png

    2.在需要使用的控制器中引入DDCollectionCycleBackView.h

    3.遵循代理方法DDCollectionCycleDelegate

    - (UICollectionViewCell *)cycleCollectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
        
        //这里使用自己定义的cell
        DDCollectionViewCycleCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cycleItem" forIndexPath:indexPath];         
        [cell reloadLabelContent:_allDataArr[indexPath.row] andIndexPathRow:indexPath.row];
        return cell;
        
    }
    
    - (void)cycleCollectionView:(UICollectionView *)collectionView didSelectItem:(id)selectItem{
    
        //当前点击的cell的数据
        NSLog(@"%@",selectItem);
        
    }
    

    4.初始话界面

    - (void)buildCycleView{
    
        //初始话界面
        [self.view addSubview:self.cycleCollectionView];
        //赋值轮播图
        _cycleCollectionView.allDataArr = self.allDataArr;
    
    }
    
    /**
      初始话DDCollectionCycleBackView
    */
    - (DDCollectionCycleBackView *)cycleCollectionView{
    
      if (!_cycleCollectionView) {
          //初始话并设置需要使用的cell
          //_cycleCollectionView的宽高就是cell的宽高
          _cycleCollectionView = [[DDCollectionCycleBackView alloc]initWithFrame:CGRectMake(0, 84, self.view.frame.size.width, self.view.frame.size.width*9/16)];      
    
          //cycleViewType:设置轮播图的样式
            _cycleCollectionView.cycleViewType = DDCollectionCycleViewScale;
       
          //下面的参数可以自己调节,如果使用默认的就是默认的样式,不需要调          
    
          //scaleMultiple:cell缩小/放大的基本倍数
          //_cycleCollectionView.scaleMultiple = 0.6;
    
          //scaleMultipleSub:控制界面的大小是scaleMultiple*scaleMultipleSub得出的即为缩小的最小倍数最大缩小的倍数为scaleMultiple
          //_cycleCollectionView.scaleMultipleSub = 0.6;
    
          //contentOffsetMutiple:cell之间的横坐标的偏移指数,即控制两个cell间距的指数,指数越小间距越大
          //_cycleCollectionView.contentOffsetMutiple = 0.4;
    
          //contentOffsetY:cell上下的偏移量,默认为0,意味着滑动的过程中都是居中展示的
          //_cycleCollectionView.contentOffsetY = 0;
    
          //设置代理方法
          _cycleCollectionView.cycleDelegate =  self;
    
          //设置完样式及配置后开始加载,将需要使用的cell传入
          [_cycleCollectionView buildCycleCollectionViewWithShowCellClass:[DDCollectionViewCycleCell class]];
    
      }
      
      return _cycleCollectionView;
      
    }
    

    有问题可以留言,详细使用见demo中的DDCollectionCycleController.m

    相关文章

      网友评论

        本文标题:iOS 轮播图使用UICollectionView封装重写的La

        本文链接:https://www.haomeiwen.com/subject/hqwxhhtx.html