iOS 弹幕库LeoDanmakuKit的中文文档(1.0.1)

原创Blog,转载请注明出处
http://blog.csdn.net/hello_hwc?viewmode=list
我的stackoverflow

前言:最近App用到了弹幕这块,到Github上找了找,没找到合适的,就自己开发了个。

Github地址

https://github.com/LeoMobileDeveloper/LeoDanmakuKit

iOS 弹幕库LeoDanmakuKit的中文文档(1.0.1)_第1张图片

支持

  • 支持Storyboard
  • 支持自动缓冲区溢出的时候自动清理
  • 用GCD写的后台线程来处理数据,所以不会卡顿住线程
  • 支持暂停,继续,停止,播放
  • 支持随机颜色,和随机通道

安装

建议用CocoaPod安装

pod "LeoDanmakuKit"

手动安装

下载Github文件,拷贝Pod/Class文件夹中的文件到想要的工程中

如何使用

在需要使用的文件中

#import LeoDanmaku.h

在storyboad上拖拽一个UIView,设置Class为LeoDanmakuView,然后拖拽Outlet(或者手动alloc init)

@property (weak, nonatomic) IBOutlet LeoDanmakuView *danmakuView;

需要发送增加一条弹幕的时候,创建一个LeoDanmkuModel对象,然后添加到View,

    if (self.textfiled.text != nil) {
        NSArray * colors = @[[UIColor redColor],[UIColor blueColor],[UIColor greenColor],[UIColor whiteColor]];
        LeoDanmkuModel * danmaku = [LeoDanmkuModel randomDanmkuWithColors:colors MaxFontSize:18 MinFontSize:15];
        danmaku.text = self.textfiled.text;
        [self.danmakuView addDanmaku:danmaku];
        [self.textfiled endEditing:true];
    }

暂停

    [self.danmakuView pause];

恢复

    [self.danmakuView resume];

注意

在想要弹幕view被移除的时候,要调用

    [self.danmakuView stop];

原理

基于CoreAnimation写的动画

默认的DanmakuView讲视图区域分为8个channel

  • 每次随即寻找空闲的Channel,如果找到则将弹幕TextLayer添加到Channel中
  • 如果当前Channel不是空闲的,则随机一直向上或者向下寻找下一个Channel,如果没有空闲的,本次什么都不做

近期计划

  • 支持AttributeText
  • 为扩展增加接口
  • 增加代理来传递事件

你可能感兴趣的:(ios,库,弹幕,LeoDanmaku)