308 lines
13 KiB
Objective-C
308 lines
13 KiB
Objective-C
//
|
|
// 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 (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)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
|