IOS弹幕效果

来源:互联网 发布:sql 默认值约束 编辑:程序博客网 时间:2024/04/30 09:51

http://download.csdn.net/detail/u011068996/9594712好久没有写过功能性的demo了,一直在弄理论。今天一进CSDN就看到了一个沉痛的消息。
连续两届CSDN博客之星、微软MVP、博客排名52位、在中国传媒大学通信与信息系统专业攻读博士的雷霄骅,于2016年7月17日凌晨猝死在学校主楼五层,并于7月23号安葬。 本人对雷霄骅老师的意外感到异常的震惊和难过,希望雷霄骅老师一路走好。


今天为大家带来的是IOS上的弹幕效果,先来看一下效果
这里写图片描述


代码主要分为两个部分:BarrageView和BarrageManage。BarrageView作为每个弹幕的实体类,用于控制每个弹幕的样式以及动画。BarrageManage用于管理整个弹幕的播放、停止、数据的处理。

1、BarrageView

typedef enum{    /**     *  即将进入屏幕     */    BarrageState_Start,    /**     *  正在屏幕中     */    BarrageState_Current,    /**     *  已经离开屏幕,即将被销毁     */    BarrageState_End,    /**     *  已经被销毁     */    BarrageState_Clear}BarrageState;@interface BarrageView : UIView/** *  弹幕状态回调 */@property (nonatomic, copy) void(^moveStateBlock)(BarrageState);/** *  构造方法 * *  @param desc 弹幕显示的内容 * *  @return 实体 */+ (instancetype)barrageWithString:(NSString *)desc;/** *  执行动画 */- (void)startAnim;

BarrageView提供了执行动画的方法和弹幕状态的回调

2、BarrageManage

@interface BarrageManage : NSObject/** *  弹幕维持的时间,默认为10 */@property (nonatomic, assign) NSUInteger mBarrageShowTime;/** *  当弹幕还有数据仅剩余1/3的时候,调用该方法 */@property (nonatomic, copy) void(^BarrageStateBlock)();/** *  构造方法 * *  @param dataSource 显示的所有字符串的集合 * *  @return 实体 */+ (instancetype)barrageWithArray:(NSArray *)dataSource superView:(UIView *)superView;/** *  添加数据源 * *  @param arr <#arr description#> */- (void)addData:(NSArray *)arr;/** *  开始弹幕 */- (void)start;/** *  关闭弹幕 */- (void)stop;

BarrageManage提供了修改弹幕时间的属性,以及在弹幕快要结束的时候的回调方法。

代码里面有详细的备注,这里就不多写了。

源码地址:http://download.csdn.net/detail/u011068996/9594712

0 0
原创粉丝点击