Files
featherVoice/QXLive/Room(房间)/View/用户信息/QXUserCpCardView.m
2025-11-21 16:17:05 +08:00

158 lines
6.5 KiB
Objective-C

//
// QXUserCpCardView.m
// QXLive
//
// Created by 启星 on 2025/11/19.
//
#import "QXUserCpCardView.h"
@interface QXUserCpCardView()
@property (nonatomic,strong)UIImageView *bgImageView;
@property (nonatomic,strong)UIImageView *cpTagImageView;
@property (nonatomic,strong)UILabel *cpTagLabel;
@property (nonatomic,strong)UIImageView *levelImageView;
@property (nonatomic,strong)UILabel *levelLabel;
@property (nonatomic,strong)UIImageView *heartImageView;
@property (nonatomic,strong)UILabel *levelValueLabel;
@property (nonatomic,strong)QXSeatHeaderView *leftHeaderImageView;
@property (nonatomic,strong)UILabel *leftNameLabel;
@property (nonatomic,strong)QXSeatHeaderView *rightHeaderImageView;
@property (nonatomic,strong)UILabel *righttNameLabel;
@end
@implementation QXUserCpCardView
- (instancetype)init
{
self = [super init];
if (self) {
[self initSubviews];
}
return self;
}
-(void)initSubviews{
self.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user_cp_bg"]];
[self addSubview:self.bgImageView];
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
self.cpTagImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user_cp_tag_icon"]];
[self addSubview:self.cpTagImageView];
[self.cpTagImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.equalTo(self);
make.width.mas_equalTo(ScaleWidth(42));
make.height.mas_equalTo(ScaleWidth(18));
}];
self.cpTagLabel = [[UILabel alloc] init];
self.cpTagLabel.font = [UIFont systemFontOfSize:12];
self.cpTagLabel.textColor = RGB16A(0xFFFFFF,0.78);
self.cpTagLabel.text = @"CP";
[self addSubview:self.cpTagLabel];
[self.cpTagLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.centerY.equalTo(self.cpTagImageView);
}];
self.levelImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user_cp_level_bg"]];
[self addSubview:self.levelImageView];
[self.levelImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(4);
make.centerX.equalTo(self);
make.width.mas_equalTo(ScaleWidth(121));
make.height.mas_equalTo(ScaleWidth(28));
}];
self.levelLabel = [[UILabel alloc] init];
self.levelLabel.font = [UIFont boldSystemFontOfSize:12];
self.levelLabel.textColor = RGB16(0xFFEAB9);
[self addSubview:self.levelLabel];
[self.levelLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.centerY.equalTo(self.levelImageView);
}];
self.heartImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user_cp_center_heart"]];
[self addSubview:self.heartImageView];
[self.heartImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self);
make.centerY.equalTo(self).offset(ScaleWidth(2));
make.width.mas_equalTo(ScaleWidth(116));
make.height.mas_equalTo(ScaleWidth(26));
}];
self.levelValueLabel = [[UILabel alloc] init];
self.levelValueLabel.font = [UIFont systemFontOfSize:14];
self.levelValueLabel.textColor = RGB16(0xFF0088);
[self addSubview:self.levelValueLabel];
[self.levelValueLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(-13);
make.height.mas_equalTo(21);
make.centerX.equalTo(self);
}];
self.leftHeaderImageView = [[QXSeatHeaderView alloc] init];
[self.leftHeaderImageView addRoundedCornersWithRadius:ScaleWidth(51)/2];
self.leftHeaderImageView.layer.borderWidth = 2;
self.leftHeaderImageView.layer.borderColor = RGB16(0xffffff).CGColor;
[self addSubview:self.leftHeaderImageView];
[self.leftHeaderImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(ScaleWidth(38));
make.width.height.mas_equalTo(ScaleWidth(51));
make.centerY.equalTo(self).offset(-10);
}];
self.leftNameLabel = [[UILabel alloc] init];
self.leftNameLabel.font = [UIFont systemFontOfSize:10];
self.leftNameLabel.textColor = RGB16(0x624E79);
[self addSubview:self.leftNameLabel];
[self.leftNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.leftHeaderImageView);
make.top.equalTo(self.leftHeaderImageView.mas_bottom).offset(5);
make.height.mas_equalTo(12);
}];
self.rightHeaderImageView = [[QXSeatHeaderView alloc] init];
[self.rightHeaderImageView addRoundedCornersWithRadius:ScaleWidth(51)/2];
self.rightHeaderImageView.layer.borderWidth = 2;
self.rightHeaderImageView.layer.borderColor = RGB16(0xffffff).CGColor;
[self addSubview:self.rightHeaderImageView];
[self.rightHeaderImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-38);
make.width.height.mas_equalTo(ScaleWidth(51));
make.centerY.equalTo(self).offset(-10);
}];
self.righttNameLabel = [[UILabel alloc] init];
self.righttNameLabel.font = [UIFont systemFontOfSize:10];
self.righttNameLabel.textColor = RGB16(0x624E79);
[self addSubview:self.righttNameLabel];
[self.righttNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.rightHeaderImageView);
make.top.equalTo(self.rightHeaderImageView.mas_bottom).offset(5);
make.height.mas_equalTo(12);
}];
}
-(void)setModel:(QXUserCpInfoModel *)model{
_model = model;
if ([model.user_info1.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
[self.leftHeaderImageView setHeadIcon:model.user_info1.avatar dress:model.user_info1.dress];
[self.rightHeaderImageView setHeadIcon:model.user_info2.avatar dress:model.user_info2.dress];
self.leftNameLabel.text = model.user_info1.nickname;
self.righttNameLabel.text = model.user_info2.nickname;
}else{
[self.leftHeaderImageView setHeadIcon:model.user_info2.avatar dress:model.user_info2.dress];
[self.rightHeaderImageView setHeadIcon:model.user_info1.avatar dress:model.user_info1.dress];
self.leftNameLabel.text = model.user_info2.nickname;
self.righttNameLabel.text = model.user_info1.nickname;
}
self.levelLabel.text = [NSString stringWithFormat:@"LV%@ %@",model.level,model.name];
self.levelValueLabel.text = [NSString qx_showHotCountNum:model.exp.longLongValue];
// self.cpTagLabel.text = model.name;
}
@end