ios 弹幕实现及封装
来源:互联网 发布:淘宝买手机走什么网 编辑:程序博客网 时间:2024/04/30 08:01
周末看了个介绍弹幕实现的视频,看完后,按自己的想法又重新设计、实现了一遍(感觉视频中的实现有些复杂化了,设计上也存在些问题),并封装了一下传到了git上,可以实现弹幕的开始、暂停与停止的基本功能。本身使用十分方便,内部逻辑比较简单,且有比较详细注释,主要为了方便使用者的二次定制开发与修改
ZBarrage
@interface ZBarrage : NSObject//弹幕是否处于播放中(暂停也属于播放中)@property (nonatomic,readonly) BOOL isPlaying;//弹幕是否被暂停@property (nonatomic,readonly) BOOL isPaused;//当所有弹幕播放完成时回调@property (nonatomic,copy) void(^allBulletsFlyFinishBlk)();//初始化方法//参数:弹幕数据数组-(instancetype)initWithComments:(NSMutableArray *)comments;//生成弹幕视图//参数:视图frame、弹道数、播放持续时长-(UIView *)generateBarrageView:(CGRect)frame trackNum:(int)trackNum flyDuration:(CGFloat)duration;//开始、暂停播放-(void)startPlay;//停止播放-(void)stopPlay;@end
ZBulletView
//子弹状态typedef enum{ FlyStart,//开始飞行 FlyAppeared,//正好完全飞入屏幕 FlyEnd//飞行结束}FlyStatus;@interface ZBulletView : UIView//飞行状态回调@property (nonatomic,copy) void(^flyStatusBlk)(FlyStatus flyStatus);//子弹所在轨道@property (nonatomic,readonly) int trackNum;//初始化方法//参数:子弹frame 子弹内容 子弹飞行时长 子弹所在轨道-(instancetype)initWithFrame:(CGRect)frame comment:(NSString *)comment flyDuration:(CGFloat)duration trackNum:(int)trackNum;//开始飞行-(void)startFly;//停止飞行-(void)stopFly;//暂停飞行-(void)pauseFly;//恢复飞行-(void)resumeFly;@end
git地址:
点击打开链接
0 0
- ios 弹幕实现及封装
- iOS封装 之 直播弹幕
- iOS实现弹幕功能
- ios实现弹幕功能
- iOS弹幕(源码)实现原理解析
- iOS弹幕
- 弹幕实现
- 弹幕实现
- iOS之弹幕效果
- iOS之弹幕效果
- iOS弹幕效果
- iOS 简单弹幕效果
- IOS弹幕效果
- iOS 弹幕制作
- 手机弹幕实现
- Android弹幕效果实现
- cocos2dx-lua实现弹幕
- 弹幕的简单实现
- HBuilder 使用教程
- Mybatis3.x与Spring4.x整合
- Nginx下实现pathinfo及ThinkPHP的URL Rewrite模式支持
- React高级教程(es6)——(1)JSX语法深入理解
- android 内存泄露原因以及排查和解决方案
- ios 弹幕实现及封装
- 初识HTML
- LUA 中实现table表的深拷贝实例
- SpringBoot -- 简介
- 安卓apk反编译的那些事
- 初识深度学习
- linux 查看机器运行状态常用命令
- Unity Shader Example 24 (人物遮挡透明效果)
- ios网络状态的检测