Un motor de renderizado de bombardeo con alto rendimiento para iOS. Al mismo tiempo, renderizar 5000 bombardeos también es muy fluido, liviano y escalable, ¡puedes agregar animación lo que quieras! ¡Ultra alto rendimiento, simple y fácil de usar! OCBarrage
subyacente utilizó el marco Core Animation
para conducir, usó Core Graphics
para dibujar, GPU para renderizar, ¡rendimiento ultra alto! ¡Puedes agregar animación lo que quieras, satisfacer tus diversas necesidades de animación!
pod 'OCBarrage'
a su Podfile.pod install
o pod update
.OCBarrage.h
.OCBarrage
.OCBarrage.h
.iOS弹幕库OCBarrage-如何hold住每秒5000条巨量弹幕
Esta biblioteca requiere iOS 8.0+
y Xcode 8.0+
.
OCBarrage se proporciona bajo la licencia MIT. Consulte el archivo de LICENCIA para obtener más detalles.
Grupo QQ: 263384911
iOS弹幕库OCBarrage, 同时渲染5000条弹幕也不卡, 轻量, 可拓展, 高度自定义动画, 超高性能,简单易上手. OCBarrage
底层使用Core Animation
, Core Graphics
, GPU, 性能极高, 哪怕是同时渲染5000条弹幕也不会感觉到卡顿. 可以自定义各种属性画及路径动画, 满足您对动画的多样化需求.
pod 'OCBarrage'
。pod install
y pod update
.OCBarrage.h
。你可以在 iOS弹幕库OCBarrage-如何hold住每秒5000条巨量弹幕 查看代码结构, 原理及用法. ¡有问题大家可以留言!
Nombre del usuario: OCBarrageWalkBannerDescriptor
. 这个类必须继承自OCBarrageDescriptor
类.
这样就创建新的弹幕类型的数据模型类, 我们可以在这个类里面添加新的弹幕属性例如: bannerLeftImageSrc
, bannerMiddleColor
, bannerRightImageSrc
.
为新的弹幕类型创建建一个数据展示视图例如: OCBarrageWalkBannerCell
. 这个新的弹幕类型的展示视图必须继承自OCBarrageTextCell
类.
Opciones de configuración: leftImageView
, middleImageView
, rightImageView
. 并为这个新的视图类添加一个相应的数据模型类的属性OCBarrageWalkBannerDescriptor *walkBannerDescriptor
来传递数据.
OCBarrageWalkBannerCell
的- (void)setBarrageDescriptor:(OCBarrageDescriptor *)barrageDescriptor
. 并只能在这个方法里为walkBannerDescriptor
属性赋值, 在这个方法里必须要调用[super setBarrageDescriptor:barrageDescriptor]
方法,不然barrageDescriptor
属性将没有值, 并且部分属性设置将不生效. OCBarrageCell
no es compatible con barrageDescriptor
. 但是为了方便拓展我们选择在第二步里为OCBarrageWalkBannerCell
添加一个新的数据属性walkBannerDescriptor
. 实质上OCBarrageWalkBannerCell
的barrageDescriptor
y walkBannerDescriptor
y 指向的是同一个walkBannerDescriptor
.重写新视图OCBarrageWalkBannerCell
的- (void)updateSubviewsData
方法. 渲染引擎在渲染弹幕视图之前会自动调用这个方法. 我们可以在这个方法里为子视图设置数据
.
在第四步设置好子视图的数据之后就可以计算并设置子视图的大小和位置.重写- (void)layoutContentSubviews
方法, 并在这个方法里布局子视图的位置.渲染引擎会在调用- (void)updateSubviewsData
方法之后自动调用- (void)layoutContentSubviews
方法, 这个方法必须在主线程执行.
在布局好子视图的位置之后, 如果想要提高性能可以调用- (void)convertContentToImage
方法,将可以图像化的视图合成一张图片展示在cell的layer上, 渲染引擎会在调用- (void)layoutContentViews
方法之后自动调用- (void)convertContentToImage
方法, 这个方法必须在主线程执行.
如果不想将子视图的内容转化成图片只需重写- (void)convertContentToImage
并留空即可:
如果想要进一步优化内存和性能, 可以重写- (void)removeSubViewsAndSublayers
方法, 删除之前添加的的subView和sublayer,并将子视图置为nil
.
如果既想提高性能, 又有一些无法图片化的内容(例如:gif)需要展示, 可以重写- (void)removeSubViewsAndSublayers
方法, 但不调用[super removeSubViewsAndSublayers]
方法, 并选择性的删除一些子视图, 保留一些子视图.
如果不想删除子视图, 只需重写- (void)removeSubViewsAndSublayers
方法并留空即可:
该项目最低支持iOS 8.0
y Xcode 8.0
.
为了保证您在使用的过程中尽量减少不必要的麻烦, 强烈推荐您查看详细文档
OCBarrage es una licencia del MIT, es una licencia de licencia.
欢迎加群讨论 QQ群:263384911