我的收藏技术提升

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

2020-02-27  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读