YOUPAIOCBarrageManager.m 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. //
  2. // OCBarrageView.m
  3. // TestApp
  4. //
  5. // Created by QMTV on 2017/8/22.
  6. // Copyright © 2017年 LFC. All rights reserved.
  7. //
  8. #import "YOUPAIOCBarrageManager.h"
  9. @interface YOUPAIOCBarrageManager()
  10. @end
  11. @implementation YOUPAIOCBarrageManager
  12. - (void)dealloc {
  13. NSLog(@"%s", __func__);
  14. [_renderView stop];
  15. }
  16. +(instancetype)shareManager
  17. {
  18. static YOUPAIOCBarrageManager *_manager = nil;
  19. static dispatch_once_t once;
  20. dispatch_once(&once, ^{
  21. _manager = [[YOUPAIOCBarrageManager alloc]init];
  22. _manager.renderView.frame = CGRectMake(0.0,NavBarHeight,KScreenWidth,KScreenHeight-NavBarHeight-NavBarHeight);
  23. // self.barrageManager.renderView.center = self.view.center;
  24. _manager.renderView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
  25. });
  26. return _manager;
  27. }
  28. - (instancetype)init {
  29. self = [super init];
  30. if (self) {
  31. _renderView = [[YOUPAIOCBarrageRenderView alloc] init];
  32. }
  33. return self;
  34. }
  35. - (void)start {
  36. [self.renderView start];
  37. }
  38. - (void)pause {
  39. [self.renderView pause];
  40. }
  41. - (void)resume {
  42. [self.renderView resume];
  43. }
  44. - (void)stop {
  45. [self.renderView stop];
  46. }
  47. - (void)youpaifrenderBarrageDescriptor:(YOUPAIOCBarrageDescriptor *)barrageDescriptor {
  48. if (!barrageDescriptor) {
  49. return;
  50. }
  51. if (![barrageDescriptor isKindOfClass:[YOUPAIOCBarrageDescriptor class]]) {
  52. return;
  53. }
  54. YOUPAIOCBarrageCell *barrageCell = [self.renderView dequeueReusableCellWithClass:barrageDescriptor.barrageCellClass];
  55. if (!barrageCell) {
  56. return;
  57. }
  58. barrageCell.barrageDescriptor = barrageDescriptor;
  59. barrageCell.Clickblock = barrageDescriptor.clickBlock;
  60. [self.renderView youpaiffireBarrageCell:barrageCell];
  61. }
  62. #pragma mark ------ getter
  63. - (YOUPAIOCBarrageRenderView *)renderView {
  64. return _renderView;
  65. }
  66. @end