首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
BangRaJun
掘友等级
扫地的
麻烦抬下脚
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
47
文章 46
沸点 1
赞
47
返回
|
搜索文章
最新
热门
一个iOS流畅性优化工具
LNAsyncKit是一个异步渲染工具,它提供了便捷的方法帮助你将多个元素(Element)异步渲染到一张图片上,让这个过程代替UIKit的视图构建过程,进而优化App性能;Prender提供预加载策略帮助你在Feed流中弥补异步渲染带来的延时;除构建视图外,Transacti…
弹幕封装组件:LNDanmakuPlayer
这个文档主要LNDanmakuMaster中最重要的组件LNDanmakuPlayer;这个组件的代码量应该是整个框架中最多的;其他的主要组件通常都带有Abstract支持定义,但LNDanmakuPlayer没有,这意味着它是不可替代的。 包含了:clock、containe…
处理条件弹幕:LNDanmakuTrackGroup
假设产品经理提出这样的需求:所有App钻石会员用户发的弹幕只能出现在顶部前三排,黄金会员用户第4到6排、白银用户第7到9排;如果我们仍然采用一个Player/Dispatcher策略,弹幕的播放条件可能会互相影响:假设白银轨道特别繁忙,一条钻石轨道的弹幕此时插入到队尾,虽然钻石…
弹幕容器和手势:LNDanmakuContainerView
弹幕容器通常需要覆盖在播放器视图上面,容器需要响应那些有弹幕区域的手势,透传那些没有弹幕区域的手势;如果希望使用CALayer系列组件做动效就需要额外处理手势,因为通常CALayer是不能响应手势,所以,我将这些繁琐的处理封装成ContainerView进行统一处理。 使用统一…
弹幕复用:LNDanmakuPool
LNDanmakuPool是LNDanmakuMaster针对弹幕场景提出的复用方案,与UICollectionView/UITableView的复用逻辑很相似,为任意NSObject类型打标签,并通过标签进行NSObject类型的存取。 这个池子指定了key与Class的对应…
弹幕暂存和分发:LNDanmakuDispatcher
Dispatcher的工作方式非常像配货站,通常有闲置卡车的司机会将自己的卡车信息登记在配货站,需要运送屋子的雇主把货物、目的地等信息登记在配货站,然后由专人将一些顺路的货物分配到一辆卡车上,这辆卡车装满了就发车;这种配货方式可以使运输资源得到最大限度利用。 Dispatche…
弹幕动画的核心:LNDanmakuTrackController
弹幕框架本质上来说就是一种辅助使用者做动画的工具:使用者给出自己需要放到屏幕上的视图,弹幕框架为目标视图运行动画,让其可以在屏幕中动态地展示出来;动画的核心就是弹幕轨道。 轨道组件在这里被划分为了Track/TrackController两部分,Track更像是一种动画规则,T…
从一个弹幕开始:LNDanmakuAttributes
在制作这个框架之前,我调研了GitHub上的一些比较流行的弹幕框架;一些开源库将一条弹幕定义为一个可继承Cell或View,使用者通过继承这些cell或是View来自定义自己的弹幕视图,但我认为为使用者规定好视图的类型并不是一个弹幕框架的主要工作,说到这,想起了百岁山非常著名的…
iOS弹幕组件LNDanmakuMaster
LNDanmakuMaster是一个轻量的弹幕播放器,通过:创建播放器->创建轨道->添加弹幕的方式进行弹幕播放,提供丰富轨道样式的同时也支持自定义轨道;对传入的弹幕的视图层没有要求(任意的View/Layer);提供多种(目前是3)弹幕分布策略;支持使用轨道组播放特殊弹幕;提…
个人成就
文章被点赞
266
文章被阅读
38,919
掘力值
1,336
关注了
4
关注者
140
收藏集
1
关注标签
1
加入于
2021-02-01