// // YOUPAILZChatRoomMemberView.m // VQU // // Created by CY on 2021/10/28. // Copyright © 2021 MS. All rights reserved. // #import "YOUPAILZChatRoomMemberView.h" #import "YOUPAILZLiveMemberButton.h" static NSInteger const youpaipShowMemberMaxCount = 3; @interface YOUPAILZChatRoomMemberView () @property (nonatomic,weak)UIView *youpaipmemberListBgV; @property (nonatomic,strong)NSMutableArray *youpaipmemberBtns; @end @implementation YOUPAILZChatRoomMemberView - (instancetype)init{ if (self = [super init]) { [self youpaifinitUI]; } return self; } - (void)youpaifinitUI{ UIButton *memberBtn = [UIButton buttonWithType:UIButtonTypeCustom]; memberBtn.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.3f]; memberBtn.layer.cornerRadius = 14.5f; memberBtn.clipsToBounds = YES; [memberBtn addTarget:self action:@selector(youpaifmemberBtnClick) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:memberBtn]; [memberBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.right.offset(0.0f); make.centerY.equalTo(self); make.height.offset(29.0f); make.width.greaterThanOrEqualTo(29.0f); }]; UILabel *youpaipmemberL = [[UILabel alloc] init]; youpaipmemberL.font = LCFont(11.0f); youpaipmemberL.textColor = [UIColor whiteColor]; youpaipmemberL.textAlignment = NSTextAlignmentCenter; youpaipmemberL.text = @"0"; [memberBtn addSubview:youpaipmemberL]; self.youpaipmemberL = youpaipmemberL; [youpaipmemberL mas_makeConstraints:^(MASConstraintMaker *make) { make.left.offset(7.0f); make.top.bottom.offset(0.0f); make.right.offset(-7.0f); }]; UIView *youpaipmemberListBgV = [[UIView alloc] init]; [self addSubview:youpaipmemberListBgV]; self.youpaipmemberListBgV = youpaipmemberListBgV; [youpaipmemberListBgV mas_makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(memberBtn.mas_left).offset(-4.0f); make.centerY.equalTo(self); make.height.offset(29.0f); make.width.offset(0.0f); make.left.offset(0.0f); }]; } - (void)youpaifreloadWithMemberList:(NSArray *)memberList{ [self youpaifeditBtnCountWithCount:memberList.count > youpaipShowMemberMaxCount ? youpaipShowMemberMaxCount : memberList.count]; [self.youpaipmemberListBgV updateConstraints:^(MASConstraintMaker *make) { make.width.offset(self.youpaipmemberBtns.count * 29.0f + (self.youpaipmemberBtns.count - 1.0f) * 4.0f); }]; NSArray *borderColors = @[HexColorFromRGB(0xEBB56A),HexColorFromRGB(0x92A7B1),HexColorFromRGB(0xD9894C)]; NSArray *titleColors = @[HexColorFromRGB(0x976108),HexColorFromRGB(0x677985),HexColorFromRGB(0xA65F14)]; for (NSInteger i = 0; i < self.youpaipmemberBtns.count; i ++) { YOUPAILZLiveMemberButton *imgBtn = self.youpaipmemberBtns[i]; imgBtn.tag = [memberList[i].youpaipid integerValue]; [imgBtn addTarget:self action:@selector(youpaifshowUserInfoClick:) forControlEvents:UIControlEventTouchUpInside]; [imgBtn.imgV sd_setImageWithURL:[LCTools getImageUrlWithAddress:memberList[i].youpaipavatar]]; imgBtn.frame = CGRectMake(i * 29.0f + i * 4.0f, 0, 29.0f, 31.0f); imgBtn.imgV.layer.borderColor = borderColors[i].CGColor; imgBtn.imgV.layer.borderWidth = 1.0f; [imgBtn.youpaipcountBtn setTitle:memberList[i].youpaipscore forState:UIControlStateNormal]; [imgBtn.youpaipcountBtn setTitleColor:titleColors[i] forState:UIControlStateNormal]; UIImage *bgImg = [UIImage imageNamed:[NSString stringWithFormat:@"vqu_image_chatroom_member_top_%@",@(i + 1)]]; [imgBtn.youpaipcountBtn setBackgroundImage:bgImg forState:UIControlStateNormal]; } } - (void)youpaifmemberBtnClick{ if (self.youpaipmemberCountBtnClickBlock != nil) { self.youpaipmemberCountBtnClickBlock(); } } - (void)youpaifshowUserInfoClick:(UIButton *)sender{ if(self.youpaipmemberAvatarBtnClickBlock != nil){ self.youpaipmemberAvatarBtnClickBlock([NSString stringWithFormat:@"%@",@(sender.tag)]); } } /// 顶部榜单相关函数 - (void)youpaifeditBtnCountWithCount:(NSInteger)count{ if (count >= self.youpaipmemberBtns.count) { [self youpaifaddBtnWithCount:count - self.youpaipmemberBtns.count]; }else{ [self youpaifdeleteBtnWithCount:self.youpaipmemberBtns.count - count]; } } - (void)youpaifdeleteBtnWithCount:(NSInteger)count{ if (count != 0) { for (NSInteger i = 0; i < count; i ++) { YOUPAILZLiveMemberButton *btn = self.youpaipmemberBtns.lastObject; [self.youpaipmemberBtns removeLastObject]; [btn removeFromSuperview]; } } } - (void)youpaifaddBtnWithCount:(NSInteger)count{ for (NSInteger i = 0; i < count; i ++) { [self youpaifcreateBtn]; } } - (void)youpaifcreateBtn{ YOUPAILZLiveMemberButton *btn = [[YOUPAILZLiveMemberButton alloc] init]; btn.imageView.contentMode = UIViewContentModeScaleAspectFill; btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill; btn.contentVerticalAlignment = UIControlContentVerticalAlignmentFill; // btn.layer.cornerRadius = 3.0f; // btn.clipsToBounds = YES; [self.youpaipmemberListBgV addSubview:btn]; [self.youpaipmemberBtns addObject:btn]; } - (NSMutableArray *)youpaipmemberBtns{ if (_youpaipmemberBtns == nil) { _youpaipmemberBtns = [NSMutableArray array]; } return _youpaipmemberBtns; } @end