123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- //
- // 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 <YOUPAILZLiveMemberButton *> *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<LZLiveTopThreeModel *> *)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 <UIColor *>*borderColors = @[HexColorFromRGB(0xEBB56A),HexColorFromRGB(0x92A7B1),HexColorFromRGB(0xD9894C)];
- NSArray <UIColor *>*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<YOUPAILZLiveMemberButton *> *)youpaipmemberBtns{
- if (_youpaipmemberBtns == nil) {
- _youpaipmemberBtns = [NSMutableArray array];
- }
- return _youpaipmemberBtns;
- }
- @end
|