SDCycleScrollView实现自定义view的轮播(跑马灯效果)

需求是一个跑马灯的效果

已知SDCycleScrollView的轮播实现是基于Collectionview的。 如果我们想自定义实现轮播展示的内容就可以自定义一个CollectionviewCell 。让 SDCycleScrollView 的 Collectionview 使用我们自定义cell。

###实现步骤 对修改pod源码不赞成的同学可以return。我个人是把SDCycleScrollView从pod中提出来了。

1、在 SDCycleScrollView.h中添加一个block:

/** 自定义collectionViewCell */
@property (copy) UICollectionViewCell * (^cellForRowAtIndexPathCompletion)(UICollectionView *tableView, NSIndexPath *indexPath);
复制代码

2、在SDCycleScrollView.m UICollectionViewDataSource 的获取UICollectionViewCell的代理方法中添加代码


- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    
    if (_cellForRowAtIndexPathCompletion) {
        return _cellForRowAtIndexPathCompletion(collectionView,indexPath);
    }
    
    SDCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath];
    ///....
复制代码

3、把SDCycleScrollView 的 collectionView 暴露出来 。把mainView属性移动到SDCycleScrollView.h中

@property (nonatomic, weak) UICollectionView *mainView; // 显示图片的collectionView
复制代码

4、给block属性赋值

###总结

实现需求效果有点投机取巧,但是缩短了开发时间。才疏学浅 如果文章有不正确/不可取的地方, 望大神指正。

iOS 开发交流群:479663605

转载于:https://juejin.im/post/5a31d57a5188257dd5761725

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值