iOS类似淘宝头条的文字滚动广告

最近两个项目都用到类似淘宝头条的功能,就是文字上下无限循环滚动,所以决定简单封装一下,以便以后使用。由于习惯用SDCycleScrollView来做广告图的无限循环滚动,所以这里文字无限滚动的核心是源于此。

效果如下:


demo效果

考虑到这种滚动需求样式的多变性,这里的封装还是基于 UICollectionView,提供上下和左右滚动两种方式,而且基于UICollectionView的复用特性,性能也是不错的。如果样式不一样,直接替换FHCTopLineCollectionViewCell为你自定义的cell即可。

FHCTopLineViewDelegate提供了两个代理方法

/**
 点击滚动文字回调
 @param topLine FHCTopLineView
 @param index 选中文字的index
 */
- (void)topLineView:(FHCTopLineView *)topLine didSelectItemAtIndex:(NSInteger)index;


/**
 文字滚动的回调
 @param topLine FHCTopLineView
 @param index 滚动到的位置index
 */
- (void)topLineView:(FHCTopLineView *)topLine didScrollToIndex:(NSInteger)index;

平时用习惯了,所以控制滚动的属性也是参照SDCycleScrollView

///////////////////////////  滚动控制接口 ///////////////////////////////

/** 自动滚动间隔时间,默认2s */
@property (nonatomic, assign) CGFloat autoScrollTimeInterval;

/** 是否无限循环,默认Yes */
@property (nonatomic,assign) BOOL infiniteLoop;

/** 是否自动滚动,默认Yes */
@property (nonatomic,assign) BOOL autoScroll;

/** 是否允许用户拖动,默认Yes */
@property (nonatomic, assign) BOOL enableDrag;

/** 文字滚动方向,默认为垂直滚动 */
@property (nonatomic, assign) UICollectionViewScrollDirection scrollDirection;

/** 代理 */
@property (nonatomic, weak) id<FHCTopLineViewDelegate> delegate;

///////////////////////////// 数据源接口 ////////////////////////////////////

/** 数据源数组 */
@property (nonatomic, strong) NSArray *titlesGroup;

Demo地址:FHCTopLineView

推荐阅读更多精彩内容

  • 09届。17届。好遥远。好想念。 我今晚,好想梦到那几年。
    lost_star阅读 81评论 0 0
  • 道德制胜,胜的是空虚,输得是感情。 时光 摧残了过去 老了我们 没人知道我们为什么会老死不相往来,就像没人知道我们...
    随适淡然阅读 204评论 0 2
  • 前些天有个弟妹在群里转发了一条信息,内容是新开张了土菜馆,欢迎品尝,更欢迎转发,每转发一次都有红包的,如若不真实,...
    静晚阅读 153评论 0 1