YOUPAILZChatRoomMemberView.m 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. //
  2. // YOUPAILZChatRoomMemberView.m
  3. // VQU
  4. //
  5. // Created by CY on 2021/10/28.
  6. // Copyright © 2021 MS. All rights reserved.
  7. //
  8. #import "YOUPAILZChatRoomMemberView.h"
  9. #import "YOUPAILZLiveMemberButton.h"
  10. static NSInteger const youpaipShowMemberMaxCount = 3;
  11. @interface YOUPAILZChatRoomMemberView ()
  12. @property (nonatomic,weak)UIView *youpaipmemberListBgV;
  13. @property (nonatomic,strong)NSMutableArray <YOUPAILZLiveMemberButton *> *youpaipmemberBtns;
  14. @end
  15. @implementation YOUPAILZChatRoomMemberView
  16. - (instancetype)init{
  17. if (self = [super init]) {
  18. [self youpaifinitUI];
  19. }
  20. return self;
  21. }
  22. - (void)youpaifinitUI{
  23. UIButton *memberBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  24. memberBtn.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.3f];
  25. memberBtn.layer.cornerRadius = 14.5f;
  26. memberBtn.clipsToBounds = YES;
  27. [memberBtn addTarget:self action:@selector(youpaifmemberBtnClick) forControlEvents:UIControlEventTouchUpInside];
  28. [self addSubview:memberBtn];
  29. [memberBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  30. make.right.offset(0.0f);
  31. make.centerY.equalTo(self);
  32. make.height.offset(29.0f);
  33. make.width.greaterThanOrEqualTo(29.0f);
  34. }];
  35. UILabel *youpaipmemberL = [[UILabel alloc] init];
  36. youpaipmemberL.font = LCFont(11.0f);
  37. youpaipmemberL.textColor = [UIColor whiteColor];
  38. youpaipmemberL.textAlignment = NSTextAlignmentCenter;
  39. youpaipmemberL.text = @"0";
  40. [memberBtn addSubview:youpaipmemberL];
  41. self.youpaipmemberL = youpaipmemberL;
  42. [youpaipmemberL mas_makeConstraints:^(MASConstraintMaker *make) {
  43. make.left.offset(7.0f);
  44. make.top.bottom.offset(0.0f);
  45. make.right.offset(-7.0f);
  46. }];
  47. UIView *youpaipmemberListBgV = [[UIView alloc] init];
  48. [self addSubview:youpaipmemberListBgV];
  49. self.youpaipmemberListBgV = youpaipmemberListBgV;
  50. [youpaipmemberListBgV mas_makeConstraints:^(MASConstraintMaker *make) {
  51. make.right.equalTo(memberBtn.mas_left).offset(-4.0f);
  52. make.centerY.equalTo(self);
  53. make.height.offset(29.0f);
  54. make.width.offset(0.0f);
  55. make.left.offset(0.0f);
  56. }];
  57. }
  58. - (void)youpaifreloadWithMemberList:(NSArray<LZLiveTopThreeModel *> *)memberList{
  59. [self youpaifeditBtnCountWithCount:memberList.count > youpaipShowMemberMaxCount ? youpaipShowMemberMaxCount : memberList.count];
  60. [self.youpaipmemberListBgV updateConstraints:^(MASConstraintMaker *make) {
  61. make.width.offset(self.youpaipmemberBtns.count * 29.0f + (self.youpaipmemberBtns.count - 1.0f) * 4.0f);
  62. }];
  63. NSArray <UIColor *>*borderColors = @[HexColorFromRGB(0xEBB56A),HexColorFromRGB(0x92A7B1),HexColorFromRGB(0xD9894C)];
  64. NSArray <UIColor *>*titleColors = @[HexColorFromRGB(0x976108),HexColorFromRGB(0x677985),HexColorFromRGB(0xA65F14)];
  65. for (NSInteger i = 0; i < self.youpaipmemberBtns.count; i ++) {
  66. YOUPAILZLiveMemberButton *imgBtn = self.youpaipmemberBtns[i];
  67. imgBtn.tag = [memberList[i].youpaipid integerValue];
  68. [imgBtn addTarget:self action:@selector(youpaifshowUserInfoClick:) forControlEvents:UIControlEventTouchUpInside];
  69. [imgBtn.imgV sd_setImageWithURL:[LCTools getImageUrlWithAddress:memberList[i].youpaipavatar]];
  70. imgBtn.frame = CGRectMake(i * 29.0f + i * 4.0f, 0, 29.0f, 31.0f);
  71. imgBtn.imgV.layer.borderColor = borderColors[i].CGColor;
  72. imgBtn.imgV.layer.borderWidth = 1.0f;
  73. [imgBtn.youpaipcountBtn setTitle:memberList[i].youpaipscore forState:UIControlStateNormal];
  74. [imgBtn.youpaipcountBtn setTitleColor:titleColors[i] forState:UIControlStateNormal];
  75. UIImage *bgImg = [UIImage imageNamed:[NSString stringWithFormat:@"vqu_image_chatroom_member_top_%@",@(i + 1)]];
  76. [imgBtn.youpaipcountBtn setBackgroundImage:bgImg forState:UIControlStateNormal];
  77. }
  78. }
  79. - (void)youpaifmemberBtnClick{
  80. if (self.youpaipmemberCountBtnClickBlock != nil) {
  81. self.youpaipmemberCountBtnClickBlock();
  82. }
  83. }
  84. - (void)youpaifshowUserInfoClick:(UIButton *)sender{
  85. if(self.youpaipmemberAvatarBtnClickBlock != nil){
  86. self.youpaipmemberAvatarBtnClickBlock([NSString stringWithFormat:@"%@",@(sender.tag)]);
  87. }
  88. }
  89. /// 顶部榜单相关函数
  90. - (void)youpaifeditBtnCountWithCount:(NSInteger)count{
  91. if (count >= self.youpaipmemberBtns.count) {
  92. [self youpaifaddBtnWithCount:count - self.youpaipmemberBtns.count];
  93. }else{
  94. [self youpaifdeleteBtnWithCount:self.youpaipmemberBtns.count - count];
  95. }
  96. }
  97. - (void)youpaifdeleteBtnWithCount:(NSInteger)count{
  98. if (count != 0) {
  99. for (NSInteger i = 0; i < count; i ++) {
  100. YOUPAILZLiveMemberButton *btn = self.youpaipmemberBtns.lastObject;
  101. [self.youpaipmemberBtns removeLastObject];
  102. [btn removeFromSuperview];
  103. }
  104. }
  105. }
  106. - (void)youpaifaddBtnWithCount:(NSInteger)count{
  107. for (NSInteger i = 0; i < count; i ++) {
  108. [self youpaifcreateBtn];
  109. }
  110. }
  111. - (void)youpaifcreateBtn{
  112. YOUPAILZLiveMemberButton *btn = [[YOUPAILZLiveMemberButton alloc] init];
  113. btn.imageView.contentMode = UIViewContentModeScaleAspectFill;
  114. btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
  115. btn.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
  116. // btn.layer.cornerRadius = 3.0f;
  117. // btn.clipsToBounds = YES;
  118. [self.youpaipmemberListBgV addSubview:btn];
  119. [self.youpaipmemberBtns addObject:btn];
  120. }
  121. - (NSMutableArray<YOUPAILZLiveMemberButton *> *)youpaipmemberBtns{
  122. if (_youpaipmemberBtns == nil) {
  123. _youpaipmemberBtns = [NSMutableArray array];
  124. }
  125. return _youpaipmemberBtns;
  126. }
  127. @end