Um mecanismo de renderização de barragem com alto desempenho para iOS. Ao mesmo tempo, a renderização de 5.000 barragens também é muito suave, leve, escalável, você pode adicionar animação o que quiser! Desempenho ultra-alto, simples e fácil de usar! OCBarrage
subjacente usou a estrutura Core Animation
para conduzir, usou Core Graphics
para desenhar, GPU para renderizar, desempenho ultra-alto! Você pode adicionar animação o que quiser, atendendo às suas diversas necessidades de animação!
pod 'OCBarrage'
ao seu Podfile.pod install
ou pod update
.OCBarrage.h
.OCBarrage
.OCBarrage.h
.iOS弹幕库OCBarrage-如何hold住每秒5000条巨量弹幕
Esta biblioteca requer iOS 8.0+
e Xcode 8.0+
.
OCBarrage é fornecido sob a licença do MIT. Consulte o arquivo LICENSE para obter detalhes.
Grupo QQ: 263384911
iOS弹幕库OCBarrage, 同时渲染5000条弹幕也不卡, 轻量, 可拓展, 高度自定义动画, 超高性能,简单易上手. OCBarrage
底层使用Core Animation
, Core Graphics
, GPU渲染, 性能极高,哪怕是同时渲染5000条弹幕也不会感觉到卡顿. 可以自定义各种属性动画及路径动画, 满足您对动画的多样化需求.
pod 'OCBarrage'
.pod install
ou pod update
。OCBarrage.h
está localizado.你可以在 iOS弹幕库OCBarrage-如何hold住每秒5000条巨量弹幕 查看代码结构, 原理及用法. 有问题大家可以留言!
为新的弹幕类型新建一个数据模型 Exemplo: OCBarrageWalkBannerDescriptor
. 这个类必须继承自OCBarrageDescriptor
类.
这样就创建新的弹幕类型的数据模型类, 我们可以在这个类里面添加新的弹幕属性例如: bannerLeftImageSrc
, bannerMiddleColor
, bannerRightImageSrc
.
为新的弹幕类型创建建一个数据展示视图例如: OCBarrageWalkBannerCell
. 这个新的弹幕类型的展示视图必须继承自OCBarrageTextCell
类.
Para obter mais informações, consulte: leftImageView
, middleImageView
, rightImageView
. 并为这个新的视图类添加一个相应的数据模型类的属性OCBarrageWalkBannerDescriptor *walkBannerDescriptor
来传递数据.
OCBarrageWalkBannerCell
- (void)setBarrageDescriptor:(OCBarrageDescriptor *)barrageDescriptor
方法. 并只能在这个方法里为walkBannerDescriptor
属性赋值, 在这个方法里必须要调用[super setBarrageDescriptor:barrageDescriptor]
方法,不然barrageDescriptor
属性将没有值, 并且部分属性设置将不生效. OCBarrageCell
本身有一个barrageDescriptor
属性引用数据模型. OCBarrageWalkBannerCell
walkBannerDescriptor
Use OCBarrageWalkBannerCell
para barrageDescriptor
walkBannerDescriptor
walkBannerDescriptor
.重写新视图OCBarrageWalkBannerCell
的- (void)updateSubviewsData
方法. 渲染引擎在渲染弹幕视图之前会自动调用这个方法. 我们可以在这个方法里为子视图设置数据
.
在第四步设置好子视图的数据之后就可以计算并设置子视图的大小和位置- (void)layoutContentSubviews
方法, 并在这个方法里布局子视图的位置.渲染引擎会在调用- (void)updateSubviewsData
方法之后自动调用- (void)layoutContentSubviews
方法, 这个方法必须在主线程执行.
在布局好子视图的位置之后, 如果想要提高性能可以调用- (void)convertContentToImage
方法,将可以图像化的视图合成一张图片展示在camada de célula上, 渲染引擎会在调用- (void)layoutContentViews
方法之后自动调用- (void)convertContentToImage
方法, 这个方法必须在主线程执行.
如果不想将子视图的内容转化成图片只需重写- (void)convertContentToImage
并留空即可:
如果想要进一步优化内存和性能, 可以重写- (void)removeSubViewsAndSublayers
方法, 删除之前添加的的subView和sublayer,并将子视图置为nil
.
如果既想提高性能, 又有一些无法图片化的内容(例如:gif)需要展示, 可以重写- (void)removeSubViewsAndSublayers
方法, 但不调用[super removeSubViewsAndSublayers]
方法, 并选择性的删除一些子视图, 保留一些子视图.
如果不想删除子视图, 只需重写- (void)removeSubViewsAndSublayers
方法并留空即可:
Baixe iOS 8.0
e Xcode 8.0
.
为了保证您在使用的过程中尽量减少不必要的麻烦, 强烈推荐您查看详细文档
OCBarrage 使用 MIT 许可证,详情见 LICENSE 文件。
欢迎加群讨论 QQ群:263384911