Swift弹幕显示开发用于视频和评论模块

Swift 的弹幕显示效果,做得好的还真不多。BulletView--Swift-master这套代码还挺值得一看,专门为视频和评论模块定制的,弹幕走位流畅、不卡顿,体验感不错。适合做类似 B 站、直播间那种飞字幕效果。

弹幕核心是自定义的UIView子类,像BulletView。你可以自定义字体、颜色、速度啥的,draw(_:)方法里控制一下就行。配合Core Animation做移动动画,顺滑得。用CADisplayLink还能对帧率控制得更细。

数据结构也不复杂,通常用个ArrayBullet对象就好,每条弹幕记录下文本、位置、速度这些信息。布局上要注意别让弹幕互相撞车,算好 Y 轴起始点和高度就行,不然叠在一块就乱套了。

如果弹幕是从后台拿的,用URLSession异步拉数据,更新弹幕列表。弹幕多的时候,动画容易吃资源,这时候可以考虑下离屏渲染,配合批也能优化。

用户交互这块也想得挺周到,弹幕输入、发送都一应俱全,响应也快。要是你习惯用Combine做响应式开发,也能直接接上事件流,代码还更清爽。

整体代码结构还算清晰,适合二次开发。如果你正在做视频相关的 UI,或者想搞点酷炫的评论展示,不妨把它拿来参考参考,自己改起来也不麻烦。

zip 文件大小:415.23KB