175 lines
7.8 KiB
Objective-C
175 lines
7.8 KiB
Objective-C
//
|
|
// 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
|