// // QXBlackListCell.m // QXLive // // Created by 启星 on 2025/5/12. // #import "QXBlackListCell.h" @interface QXBlackListCell() @property (nonatomic,strong)NSMutableArray *iconViewArray; @end @implementation QXBlackListCell +(instancetype)cellWithTableView:(UITableView *)tableView{ static NSString *cellId = @"QXBlackListCell"; QXBlackListCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId]; if (!cell) { cell = [[NSBundle mainBundle] loadNibNamed:cellId owner:nil options:nil].lastObject; cell.backgroundColor = [UIColor clearColor]; } return cell; } - (IBAction)removeAction:(UIButton*)sender { switch (self.cellType) { case QXBlackListCellTypeBlack:{ if (self.delegate && [self.delegate respondsToSelector:@selector(didRemoveSuccess:)]) { [self.delegate didRemoveSuccess:self.userModel]; } } break; case QXBlackListCellTypeFans: case QXBlackListCellTypeFocus:{ if (self.delegate && [self.delegate respondsToSelector:@selector(didFocus:userModel:)]) { [self.delegate didFocus:sender userModel:self.userModel]; } } break; case QXBlackListCellTypeLogin:{ if (self.delegate && [self.delegate respondsToSelector:@selector(didClickLoginWithModel:)]) { [self.delegate didClickLoginWithModel:self.loginModel]; } } break; case QXBlackListCellTypeHugSeat:{ if (self.delegate && [self.delegate respondsToSelector:@selector(didHugSeatWithModel:isUpSeat:)]) { [self.delegate didHugSeatWithModel:self.onlineUser isUpSeat:self.isUpSeat]; } } break; default: break; } } -(void)setIsUpSeat:(BOOL)isUpSeat{ _isUpSeat = isUpSeat; } -(void)setLoginModel:(QXLoginModel *)loginModel{ _loginModel = loginModel; [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:loginModel.avatar]]; self.nameLabel.text = loginModel.nickname; if (loginModel.sex.intValue == 1) { self.sexImageView.image = [UIImage imageNamed:@"user_sex_boy"]; self.sexImageView.hidden = NO; }else if(loginModel.sex.intValue == 2){ self.sexImageView.image = [UIImage imageNamed:@"user_sex_girl"]; self.sexImageView.hidden = NO; }else{ self.sexImageView.hidden = YES; } } -(void)setUserModel:(QXUserHomeModel *)userModel{ _userModel = userModel; [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:userModel.avatar]]; self.nameLabel.text = userModel.nickname; if (userModel.sex.intValue == 1) { self.sexImageView.image = [UIImage imageNamed:@"user_sex_boy"]; self.sexImageView.hidden = NO; }else if(userModel.sex.intValue == 2){ self.sexImageView.image = [UIImage imageNamed:@"user_sex_girl"]; self.sexImageView.hidden = NO; }else{ self.sexImageView.hidden = YES; } self.removeBtn.selected = userModel.is_follow==1?YES:NO; if (userModel.icon.count > 0) { self.iconBgView.hidden = NO; for (int i = 0;i < self.userModel.icon.count;i++) { if (i < 3) { UIImageView *iconImageView = self.iconViewArray[i]; iconImageView.hidden = NO; [iconImageView sd_setImageWithURL:[NSURL URLWithString:self.userModel.icon[i]]]; } } }else{ self.iconBgView.hidden = YES; } } -(void)setOnlineUser:(QXRoomUserInfoModel *)onlineUser{ _onlineUser = onlineUser; [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:onlineUser.avatar]]; self.nameLabel.text = onlineUser.nickname; if (onlineUser.sex.intValue == 1) { self.sexImageView.image = [UIImage imageNamed:@"user_sex_boy"]; self.sexImageView.hidden = NO; }else if(onlineUser.sex.intValue == 2){ self.sexImageView.image = [UIImage imageNamed:@"user_sex_girl"]; self.sexImageView.hidden = NO; }else{ self.sexImageView.hidden = YES; } if (onlineUser.role.intValue == 1) { self.roleLabel.text = QXText(@"房主"); }else if(onlineUser.role.intValue == 2) { self.roleLabel.text = QXText(@"管理"); }else if(onlineUser.role.intValue == 3) { self.roleLabel.text = QXText(@"主持"); }else{ self.roleLabel.text = QXText(@"观众"); } if (onlineUser.pit_number.intValue > 0) { [self.removeBtn setTitleColor:RGB16(0x666666) forState:(UIControlStateNormal)]; [self.removeBtn setBackgroundImage:nil forState:(UIControlStateNormal)]; self.removeBtn.titleLabel.font = [UIFont systemFontOfSize:14]; self.removeBtn.backgroundColor = [UIColor clearColor]; [self.removeBtn setTitle:[NSString stringWithFormat:@"%@号麦",onlineUser.pit_number] forState:(UIControlStateNormal)]; if (onlineUser.pit_number.intValue == 10) { [self.removeBtn setTitle:[NSString stringWithFormat:@"%@麦",QXText(@"嘉宾")] forState:(UIControlStateNormal)]; } if (onlineUser.pit_number.intValue == 9) { [self.removeBtn setTitle:[NSString stringWithFormat:@"%@麦",QXText(@"主持")] forState:(UIControlStateNormal)]; } }else{ if (self.cellType == QXBlackListCellTypeHugSeat) { [self.removeBtn setTitleColor:QXConfig.themeColor forState:(UIControlStateNormal)]; [self.removeBtn setBackgroundImage:nil forState:(UIControlStateNormal)]; self.removeBtn.titleLabel.font = [UIFont systemFontOfSize:14]; self.removeBtn.backgroundColor = [UIColor clearColor]; [self.removeBtn setTitle:@"抱麦" forState:(UIControlStateNormal)]; }else{ [self.removeBtn setTitle:@"" forState:(UIControlStateNormal)]; } } if (onlineUser.icon.count > 0) { self.iconBgView.hidden = NO; for (int i = 0;i < self.onlineUser.icon.count;i++) { if (i < 3) { UIImageView *iconImageView = self.iconViewArray[i]; iconImageView.hidden = NO; [iconImageView sd_setImageWithURL:[NSURL URLWithString:self.onlineUser.icon[i]]]; } } }else{ self.iconBgView.hidden = YES; } } -(void)setRankModel:(QXRoomOnlineList *)rankModel{ _rankModel = rankModel; [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:rankModel.avatar]]; self.nameLabel.text = rankModel.nickname; if (rankModel.sex.intValue == 1) { self.sexImageView.image = [UIImage imageNamed:@"user_sex_boy"]; self.sexImageView.hidden = NO; }else if(rankModel.sex.intValue == 2){ self.sexImageView.image = [UIImage imageNamed:@"user_sex_girl"]; self.sexImageView.hidden = NO; }else{ self.sexImageView.hidden = YES; } if (self.isNoIcon) { self.iconBgView.hidden = YES; }else{ if (rankModel.icon.count > 0) { self.iconBgView.hidden = NO; for (int i = 0;i < rankModel.icon.count;i++) { if (i < 3) { UIImageView *iconImageView = self.iconViewArray[i]; iconImageView.hidden = NO; [iconImageView sd_setImageWithURL:[NSURL URLWithString:rankModel.icon[i]]]; } } }else{ self.iconBgView.hidden = YES; } } [self.removeBtn setTitle:[NSString stringWithFormat:@" %@",rankModel.total?rankModel.total:rankModel.gift_prices] forState:(UIControlStateNormal)]; } -(void)setCellType:(QXBlackListCellType)cellType{ _cellType = cellType; switch (cellType) { case QXBlackListCellTypeBlack:{ [self.removeBtn setTitle:QXText(@"移除") forState:(UIControlStateNormal)]; UIImage *norImage = [UIImage imageWithColor:RGB16(0x333333)]; [self.removeBtn setBackgroundImage:norImage forState:(UIControlStateNormal)]; } break; case QXBlackListCellTypeFans:{ [self.removeBtn setTitle:QXText(@"回关") forState:(UIControlStateNormal)]; [self.removeBtn setTitleColor:QXConfig.btnTextColor forState:(UIControlStateNormal)]; [self.removeBtn setTitle:QXText(@"已互关") forState:(UIControlStateSelected)]; UIImage *norImage = [UIImage imageWithColor:QXConfig.themeColor]; [self.removeBtn setBackgroundImage:norImage forState:(UIControlStateNormal)]; UIImage *selImage = [UIImage imageWithColor:RGB16(0xEFF2F8)]; [self.removeBtn setBackgroundImage:selImage forState:(UIControlStateSelected)]; } break; case QXBlackListCellTypeFocus:{ [self.removeBtn setTitle:QXText(@"关注") forState:(UIControlStateNormal)]; [self.removeBtn setTitleColor:QXConfig.btnTextColor forState:(UIControlStateNormal)]; [self.removeBtn setTitle:QXText(@"已关注") forState:(UIControlStateSelected)]; UIImage *norImage = [UIImage imageWithColor:QXConfig.themeColor]; [self.removeBtn setBackgroundImage:norImage forState:(UIControlStateNormal)]; UIImage *selImage = [UIImage imageWithColor:RGB16(0xEFF2F8)]; [self.removeBtn setBackgroundImage:selImage forState:(UIControlStateSelected)]; } break; case QXBlackListCellTypeLogin:{ [self.removeBtn setTitle:QXText(@"登录") forState:(UIControlStateNormal)]; UIImage *norImage = [UIImage imageWithColor:QXConfig.themeColor]; [self.removeBtn setBackgroundImage:norImage forState:(UIControlStateNormal)]; } break; case QXBlackListCellTypeOnline:{ [self.removeBtn setTitleColor:RGB16(0x666666) forState:(UIControlStateNormal)]; [self.removeBtn setBackgroundImage:nil forState:(UIControlStateNormal)]; self.removeBtn.titleLabel.font = [UIFont systemFontOfSize:14]; self.removeBtn.backgroundColor = [UIColor clearColor]; self.roleLabel.hidden = NO; } break; case QXBlackListCellTypeHugSeat:{ [self.removeBtn setTitleColor:RGB16(0x666666) forState:(UIControlStateNormal)]; [self.removeBtn setBackgroundImage:nil forState:(UIControlStateNormal)]; self.removeBtn.titleLabel.font = [UIFont systemFontOfSize:14]; self.removeBtn.backgroundColor = [UIColor clearColor]; self.roleLabel.hidden = NO; } break; case QXBlackListCellTypeRank:{ self.titleLabel.hidden = NO; self.headerLeftConstraint.constant = 44; self.nameLabel.textColor = RGB16(0xffffff); [self.removeBtn setTitleColor:RGB16(0xffffff) forState:(UIControlStateNormal)]; [self.removeBtn setBackgroundImage:nil forState:(UIControlStateNormal)]; [self.removeBtn setImage:[UIImage imageNamed:@"room_rank_value_icon"] forState:(UIControlStateNormal)]; [self.removeBtn setTitle:@" 0" forState:(UIControlStateNormal)]; self.removeBtn.titleLabel.font = [UIFont systemFontOfSize:14]; self.removeBtn.backgroundColor = [UIColor clearColor]; } break; case QXBlackListCellTypeVisit:{ [self.removeBtn setTitle:QXText(@"关注") forState:(UIControlStateNormal)]; [self.removeBtn setTitleColor:QXConfig.btnTextColor forState:(UIControlStateNormal)]; [self.removeBtn setTitle:QXText(@"已关注") forState:(UIControlStateSelected)]; UIImage *norImage = [UIImage imageWithColor:QXConfig.themeColor]; [self.removeBtn setBackgroundImage:norImage forState:(UIControlStateNormal)]; UIImage *selImage = [UIImage imageWithColor:RGB16(0xEFF2F8)]; [self.removeBtn setBackgroundImage:selImage forState:(UIControlStateSelected)]; self.removeBtn.hidden = YES; } break; default: break; } } -(void)setIsNoIcon:(BOOL)isNoIcon{ _isNoIcon = isNoIcon; } - (void)awakeFromNib { [super awakeFromNib]; // Initialization code CGFloat iconWidth = UserIconWidth; CGFloat iconHeight = UserIconHeight; CGFloat margin = 6; for (int i = 0; i < 3; i++) { UIImageView *iconImageView = [[UIImageView alloc] init]; iconImageView.hidden = YES; [self.iconBgView addSubview:iconImageView]; [iconImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(i*(iconWidth+margin)); make.width.mas_equalTo(iconWidth); make.height.mas_equalTo(iconHeight); make.centerY.equalTo(self.iconBgView); }]; [self.iconViewArray addObject:iconImageView]; } } -(NSMutableArray *)iconViewArray{ if (!_iconViewArray) { _iconViewArray = [NSMutableArray array]; } return _iconViewArray; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end