Files
featherVoice/QXLive/Room(房间)/View/用户信息/QXUserCpCardView.m

228 lines
8.8 KiB
Mathematica
Raw Normal View History

2025-11-21 16:17:05 +08:00
//
// 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;
2025-11-28 22:43:06 +08:00
@property (nonatomic,strong)UIButton *leftBtn;
2025-11-21 16:17:05 +08:00
@property (nonatomic,strong)QXSeatHeaderView *leftHeaderImageView;
@property (nonatomic,strong)UILabel *leftNameLabel;
@property (nonatomic,strong)QXSeatHeaderView *rightHeaderImageView;
@property (nonatomic,strong)UILabel *righttNameLabel;
2025-11-28 22:43:06 +08:00
@property (nonatomic,strong)UIButton *rightBtn;
2025-11-21 16:17:05 +08:00
@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);
2025-12-04 14:11:00 +08:00
self.cpTagLabel.text = @"心动";
2025-11-21 16:17:05 +08:00
[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);
}];
2025-11-28 22:43:06 +08:00
self.leftBtn = [[UIButton alloc] init];
[self.leftBtn addTarget:self action:@selector(leftAction) forControlEvents:(UIControlEventTouchUpInside)];
[self addSubview:self.leftBtn];
[self.leftBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.top.left.equalTo(self.leftHeaderImageView);
make.bottom.equalTo(self.leftNameLabel);
}];
self.rightBtn = [[UIButton alloc] init];
[self.rightBtn addTarget:self action:@selector(righttAction) forControlEvents:(UIControlEventTouchUpInside)];
[self addSubview:self.rightBtn];
[self.rightBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.top.left.equalTo(self.rightHeaderImageView);
make.bottom.equalTo(self.righttNameLabel);
}];
MJWeakSelf
[self addTapBlock:^(id _Nonnull obj) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickHeaderCardViewWithUserId:)]) {
[weakSelf.delegate didClickHeaderCardViewWithUserId:weakSelf.userId];
}
}];
}
-(void)headerStartPlay{
[self.leftHeaderImageView playHWDMP4];
[self.rightHeaderImageView playHWDMP4];
}
-(void)leftAction{
if (self.model == nil) {
return;
}
NSString *userId = @"";
userId = self.userId;
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickHeaderViewUserId:)]) {
[self.delegate didClickHeaderViewUserId:userId];
}
}
-(void)righttAction{
if (self.model == nil) {
return;
}
NSString *userId = @"";
if ([self.model.user_info1.user_id isEqualToString:self.userId]) {
userId = self.model.user_info2.user_id;
}else{
userId = self.model.user_info1.user_id;
}
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickHeaderViewUserId:)]) {
[self.delegate didClickHeaderViewUserId:userId];
}
2025-11-21 16:17:05 +08:00
}
-(void)setModel:(QXUserCpInfoModel *)model{
_model = model;
2025-11-28 22:43:06 +08:00
if ([model.user_info1.user_id isEqualToString:self.userId]) {
2025-11-21 16:17:05 +08:00
[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;
}
2025-11-28 22:43:06 +08:00
if (model) {
self.levelLabel.text = [NSString stringWithFormat:@"LV%@ %@",model.level,model.name];
self.levelValueLabel.text = [NSString qx_showHotCountNum:model.exp.longLongValue];
}else{
self.levelLabel.text = @"";
self.levelValueLabel.text = @"";
}
2025-11-21 16:17:05 +08:00
// self.cpTagLabel.text = model.name;
2025-11-28 22:43:06 +08:00
}
-(void)resetView{
self.model = nil;
[self.leftHeaderImageView setHeadIcon:@"" dress:@""];
[self.rightHeaderImageView setHeadIcon:@"" dress:@""];
self.leftNameLabel.text = @"";
self.righttNameLabel.text = @"";
self.levelLabel.text = @"";
self.levelValueLabel.text = @"";
2025-11-21 16:17:05 +08:00
}
@end