// // QXHomeTopCell.m // QXLive // // Created by 启星 on 2025/5/7. // #import "QXHomeTopCell.h" @interface QXHomeTopCell() @property(nonatomic,strong)NSMutableArray *imgs; @property(nonatomic,strong)UIImageView *peopleIconView; // @end @implementation QXHomeTopCell - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self initSubViews]; } return self; } -(void)initSubViews{ self.backgroundColor = [UIColor clearColor]; self.roomCoverImageView = [[UIImageView alloc] init]; self.roomCoverImageView.contentMode = UIViewContentModeScaleAspectFill; [self.roomCoverImageView addRoundedCornersWithRadius:7]; self.roomCoverImageView.layer.borderColor = RGB16(0x333333).CGColor; self.roomCoverImageView.layer.borderWidth = 1.5; [self addSubview:self.roomCoverImageView]; self.disPlayMaskView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 180, 40)]; [self.disPlayMaskView setTopToBottomGradientBackgroundWithColors:@[[UIColor colorWithHexString:@"#00000000"],[UIColor colorWithHexString:@"#00000096"]] frame:self.disPlayMaskView.bounds]; [self.disPlayMaskView addRoundedCornersWithRadius:7]; [self addSubview:self.disPlayMaskView]; self.titleLabel = [[UILabel alloc] init]; self.titleLabel.textColor = RGB16A(0xF1ECFF, 0.85); self.titleLabel.textAlignment = NSTextAlignmentCenter; self.titleLabel.font = [UIFont systemFontOfSize:12]; [self addSubview:self.titleLabel]; self.animateBgView = [[UIView alloc] init]; self.animateBgView.backgroundColor = RGB16(0x333333); [self.animateBgView addRoundedCornersWithRadius:8]; [self addSubview:self.animateBgView]; self.animateView = [[UIImageView alloc] init]; self.animateView.animationImages = self.imgs; self.animateView.animationDuration = 1; [self.animateView startAnimating]; [self.animateBgView addSubview:self.animateView]; self.roomPeopleBgView = [[UIView alloc] init]; [self.roomPeopleBgView addRoundedCornersWithRadius:7]; [self addSubview:self.roomPeopleBgView]; // self.roomPeopleBgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"home_top_room_people_bg"]]; // self.roomPeopleBgImageView.contentMode = UIViewContentModeScaleToFill; // [self.roomPeopleBgView addSubview:self.roomPeopleBgImageView]; self.firstHeaderImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user_header_placehoulder"]]; self.firstHeaderImageView.backgroundColor = [UIColor whiteColor]; [self.firstHeaderImageView addRoundedCornersWithRadius:8]; self.firstHeaderImageView.contentMode = UIViewContentModeScaleAspectFill; [self.roomPeopleBgView addSubview:self.firstHeaderImageView]; self.secondHeaderImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user_header_placehoulder"]]; self.secondHeaderImageView.backgroundColor = [UIColor whiteColor]; [self.secondHeaderImageView addRoundedCornersWithRadius:8]; self.secondHeaderImageView.contentMode = UIViewContentModeScaleAspectFill; [self.roomPeopleBgView addSubview:self.secondHeaderImageView]; self.thirdHeaderImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user_header_placehoulder"]]; self.thirdHeaderImageView.contentMode = UIViewContentModeScaleAspectFill; self.thirdHeaderImageView.backgroundColor = [UIColor whiteColor]; [self.thirdHeaderImageView addRoundedCornersWithRadius:8]; [self.roomPeopleBgView addSubview:self.thirdHeaderImageView]; self.countLabel = [[UILabel alloc] init]; [self.countLabel adjustsFontSizeToFitWidth]; self.countLabel.textAlignment = NSTextAlignmentCenter; self.countLabel.font = [UIFont systemFontOfSize:12.f]; self.countLabel.textColor = UIColor.whiteColor; [self.roomPeopleBgView addSubview:self.countLabel]; self.peopleIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_people"]]; [self.roomPeopleBgView addSubview:self.peopleIconView]; [self.roomCoverImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.right.equalTo(self); make.height.mas_equalTo(135); }]; [self.disPlayMaskView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.bottom.equalTo(self.roomCoverImageView); make.height.mas_equalTo(40); }]; [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self); make.top.equalTo(self.roomCoverImageView.mas_bottom).offset(5); }]; [self.animateBgView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.mas_equalTo(8); make.size.mas_equalTo(CGSizeMake(28, 16)); }]; [self.animateView mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(20, 12)); make.centerX.centerY.equalTo(self.animateBgView); }]; [self.roomPeopleBgView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(8); // make.size.mas_equalTo(CGSizeMake(93, 24)); make.height.mas_equalTo(24); make.right.mas_equalTo(-8); make.bottom.equalTo(self.roomCoverImageView.mas_bottom).offset(-8); }]; // [self.roomPeopleBgImageView mas_makeConstraints:^(MASConstraintMaker *make) { // make.top.bottom.right.left.equalTo(self.roomPeopleBgView); // }]; [self.firstHeaderImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(16, 16)); make.left.equalTo(self.roomPeopleBgView.mas_left); make.bottom.equalTo(self.roomPeopleBgView); }]; [self.secondHeaderImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(16, 16)); make.left.equalTo(self.firstHeaderImageView.mas_right).offset(-6); make.centerY.equalTo(self.firstHeaderImageView); }]; [self.thirdHeaderImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(16, 16)); make.left.equalTo(self.secondHeaderImageView.mas_right).offset(-6); make.centerY.equalTo(self.firstHeaderImageView); }]; [self.countLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(self.roomPeopleBgView); make.width.mas_equalTo(32); make.height.mas_equalTo(12); make.centerY.equalTo(self.firstHeaderImageView); }]; [self.peopleIconView mas_makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(self.countLabel.mas_left).offset(-2); make.centerY.equalTo(self.firstHeaderImageView); make.width.height.mas_equalTo(14); }]; self.countLabel.text = @"23人"; } -(void)setRoomModel:(QXRoomListModel *)roomModel{ _roomModel = roomModel; self.titleLabel.text = roomModel.room_name; [self.roomCoverImageView sd_setImageWithURL:[NSURL URLWithString:roomModel.room_cover]]; self.countLabel.text = [NSString localizedStringWithFormat:QXText(@"%@人"),[NSString stringWithFormat:@"%ld",roomModel.user_list.count]]; for (int i = 0; i < roomModel.user_list.count; i++) { QXUserHomeModel *md = roomModel.user_list[i]; if (i == 0) { [self.thirdHeaderImageView sd_setImageWithURL:[NSURL URLWithString:md.avatar]]; }else if (i == 1){ [self.secondHeaderImageView sd_setImageWithURL:[NSURL URLWithString:md.avatar]]; }else{ [self.firstHeaderImageView sd_setImageWithURL:[NSURL URLWithString:md.avatar]]; } } } -(NSMutableArray *)imgs{ if (!_imgs) { _imgs = [NSMutableArray array]; for (int i = 0; i < 14; i++) { NSString *str = [NSString stringWithFormat:@"Flow 100%02d",i]; UIImage *img = [UIImage imageNamed:str]; [_imgs addObject:img]; } } return _imgs; } @end