242 lines
7.4 KiB
Objective-C
242 lines
7.4 KiB
Objective-C
//
|
|
// XPNewHomePartyTableViewCell.m
|
|
// YuMi
|
|
//
|
|
// Created by YuMi on 2022/10/8.
|
|
//
|
|
|
|
#import "XPNewHomePartyTableViewCell.h"
|
|
///Third
|
|
#import <Masonry/Masonry.h>
|
|
///Tool
|
|
#import "DJDKMIMOMColor.h"
|
|
#import "NetImageView.h"
|
|
///Model
|
|
#import "HomePlayRoomModel.h"
|
|
#import "HomeRecommendRoomModel.h"
|
|
|
|
|
|
|
|
|
|
@interface XPNewHomePartyTableViewCell ()
|
|
///正在pk的
|
|
@property (nonatomic,strong) UIImageView *crossPkImageView;
|
|
///头像
|
|
@property (nonatomic,strong) NetImageView *avatarImageView;
|
|
///背景
|
|
@property (nonatomic,strong) UIView *bgView;
|
|
///房间标题
|
|
@property (nonatomic,strong) UILabel *titleLabel;
|
|
///tag
|
|
@property (nonatomic,strong) NetImageView *tagImageView;
|
|
///id
|
|
@property (nonatomic,strong) UILabel *idLabel;
|
|
///个数的logo
|
|
@property (nonatomic,strong) UIImageView *numberImageView;
|
|
///显示个数
|
|
@property (nonatomic,strong) UILabel *numberLabel;
|
|
|
|
@end
|
|
|
|
@implementation XPNewHomePartyTableViewCell
|
|
|
|
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
|
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
|
|
[self initSubViews];
|
|
[self initSubViewConstraints];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
#pragma mark - Private Method
|
|
- (void)initSubViews {
|
|
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
|
self.backgroundColor = [UIColor clearColor];
|
|
[self.contentView addSubview:self.bgView];
|
|
[self.contentView addSubview:self.avatarImageView];
|
|
[self.contentView addSubview:self.crossPkImageView];
|
|
|
|
[self.bgView addSubview:self.titleLabel];
|
|
[self.bgView addSubview:self.tagImageView];
|
|
[self.bgView addSubview:self.idLabel];
|
|
[self.bgView addSubview:self.numberLabel];
|
|
[self.bgView addSubview:self.numberImageView];
|
|
|
|
}
|
|
|
|
- (void)initSubViewConstraints {
|
|
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.size.mas_equalTo(CGSizeMake(74, 74));
|
|
make.centerY.mas_equalTo(self.bgView);
|
|
make.left.mas_equalTo(self.contentView).offset(15);
|
|
}];
|
|
|
|
[self.crossPkImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.edges.mas_equalTo(self.avatarImageView);
|
|
}];
|
|
|
|
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.left.mas_equalTo(self.contentView).offset(36);
|
|
make.right.mas_equalTo(self.contentView).offset(-15);
|
|
make.top.mas_equalTo(self.contentView);
|
|
make.bottom.mas_equalTo(self.contentView).offset(-12);
|
|
}];
|
|
|
|
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.left.mas_equalTo(self.bgView).offset(65);
|
|
make.bottom.mas_equalTo(self.bgView.mas_centerY).offset(-8);
|
|
make.right.equalTo(self.numberImageView.mas_left).offset(-10);
|
|
}];
|
|
|
|
[self.tagImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.size.mas_equalTo(CGSizeMake(32, 15));
|
|
make.left.mas_equalTo(self.titleLabel);
|
|
make.top.mas_equalTo(self.bgView.mas_centerY).offset(8);
|
|
}];
|
|
|
|
[self.idLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.left.mas_equalTo(65);
|
|
make.centerY.mas_equalTo(self.tagImageView);
|
|
}];
|
|
|
|
[self.numberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.right.mas_equalTo(self.bgView).offset(-12);
|
|
make.width.mas_equalTo(40);
|
|
make.centerY.mas_equalTo(self.titleLabel);
|
|
}];
|
|
|
|
[self.numberImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.size.mas_equalTo(CGSizeMake(18, 18));
|
|
make.right.mas_equalTo(self.numberLabel.mas_left).offset(-2);
|
|
make.centerY.mas_equalTo(self.numberLabel);
|
|
}];
|
|
}
|
|
|
|
#pragma mark - Getters And Setters
|
|
- (void)setRoomInfo:(HomePlayRoomModel *)roomInfo {
|
|
_roomInfo = roomInfo;
|
|
if (_roomInfo) {
|
|
self.crossPkImageView.hidden = !_roomInfo.crossPking;
|
|
self.avatarImageView.imageUrl = _roomInfo.avatar;
|
|
self.titleLabel.text = _roomInfo.title;
|
|
if (_roomInfo.tagPict.length > 0){
|
|
self.tagImageView.imageUrl = _roomInfo.tagPict;
|
|
self.tagImageView.hidden = NO;
|
|
[self.idLabel mas_updateConstraints:^(MASConstraintMaker *make) {
|
|
make.left.mas_equalTo(106);
|
|
}];
|
|
}else{
|
|
self.tagImageView.hidden = YES;
|
|
[self.idLabel mas_updateConstraints:^(MASConstraintMaker *make) {
|
|
make.left.mas_equalTo(65);
|
|
}];
|
|
}
|
|
|
|
self.idLabel.text = [NSString stringWithFormat:@"ID:%@", _roomInfo.erbanNo];
|
|
self.numberLabel.text = [NSString stringWithFormat:@"%ld", _roomInfo.onlineNum];
|
|
CGFloat getWidth = [self.numberLabel.text sizeWithAttributes:@{NSFontAttributeName:self.numberLabel.font}].width+5;
|
|
[self.numberLabel mas_updateConstraints:^(MASConstraintMaker *make) {
|
|
make.width.mas_equalTo(getWidth);
|
|
}];
|
|
}
|
|
}
|
|
|
|
- (void)setRoomInfo1:(HomeRecommendRoomModel *)roomInfo1 {
|
|
_roomInfo1 = roomInfo1;
|
|
if (_roomInfo1) {
|
|
self.crossPkImageView.hidden = !_roomInfo1.crossPking;
|
|
self.avatarImageView.imageUrl = _roomInfo1.avatar;
|
|
self.titleLabel.text = _roomInfo1.title;
|
|
if (_roomInfo1.tagPict.length > 0){
|
|
self.tagImageView.imageUrl = _roomInfo1.tagPict;
|
|
self.tagImageView.hidden = NO;
|
|
[self.idLabel mas_updateConstraints:^(MASConstraintMaker *make) {
|
|
make.left.mas_equalTo(106);
|
|
}];
|
|
}else{
|
|
self.tagImageView.hidden = YES;
|
|
[self.idLabel mas_updateConstraints:^(MASConstraintMaker *make) {
|
|
make.left.mas_equalTo(65);
|
|
}];
|
|
}
|
|
self.idLabel.text = [NSString stringWithFormat:@"ID:%@", _roomInfo1.erbanNo];
|
|
self.numberLabel.text = [NSString stringWithFormat:@"%ld", _roomInfo1.onlineNum];
|
|
}
|
|
}
|
|
|
|
- (UIImageView *)crossPkImageView {
|
|
if (!_crossPkImageView) {
|
|
_crossPkImageView = [[UIImageView alloc] init];
|
|
_crossPkImageView.userInteractionEnabled = YES;
|
|
_crossPkImageView.image = [UIImage imageNamed:@"home_cross_pk"];
|
|
}
|
|
return _crossPkImageView;
|
|
}
|
|
|
|
- (NetImageView *)avatarImageView {
|
|
if (!_avatarImageView) {
|
|
NetImageConfig * config = [[NetImageConfig alloc]init];
|
|
config.imageType = ImageTypeUserIcon;
|
|
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
|
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
|
|
_avatarImageView.layer.masksToBounds = YES;
|
|
_avatarImageView.layer.cornerRadius = 74/2;
|
|
}
|
|
return _avatarImageView;
|
|
}
|
|
|
|
- (UIView *)bgView {
|
|
if (!_bgView) {
|
|
_bgView = [[UIView alloc] init];
|
|
_bgView.backgroundColor = [DJDKMIMOMColor appCellBackgroundColor];
|
|
_bgView.layer.masksToBounds = YES;
|
|
_bgView.layer.cornerRadius = 14;
|
|
}
|
|
return _bgView;
|
|
}
|
|
|
|
- (UILabel *)titleLabel {
|
|
if (!_titleLabel) {
|
|
_titleLabel = [[UILabel alloc] init];
|
|
_titleLabel.font = [UIFont systemFontOfSize:15];
|
|
_titleLabel.textColor = [DJDKMIMOMColor mainTextColor];
|
|
}
|
|
return _titleLabel;
|
|
}
|
|
|
|
- (NetImageView *)tagImageView {
|
|
if (!_tagImageView) {
|
|
_tagImageView = [[NetImageView alloc] init];
|
|
}
|
|
return _tagImageView;
|
|
}
|
|
|
|
- (UILabel *)idLabel {
|
|
if (!_idLabel) {
|
|
_idLabel = [[UILabel alloc] init];
|
|
_idLabel.font = [UIFont systemFontOfSize:13];
|
|
_idLabel.textColor = [DJDKMIMOMColor secondTextColor];
|
|
}
|
|
return _idLabel;
|
|
}
|
|
|
|
- (UIImageView *)numberImageView {
|
|
if (!_numberImageView) {
|
|
_numberImageView = [[UIImageView alloc] init];
|
|
_numberImageView.userInteractionEnabled = YES;
|
|
_numberImageView.image = [UIImage imageNamed:@"home_party_number"];
|
|
}
|
|
return _numberImageView;
|
|
}
|
|
|
|
- (UILabel *)numberLabel {
|
|
if (!_numberLabel) {
|
|
_numberLabel = [[UILabel alloc] init];
|
|
_numberLabel.font = [UIFont systemFontOfSize:13];
|
|
_numberLabel.textColor = [DJDKMIMOMColor secondTextColor];
|
|
}
|
|
return _numberLabel;
|
|
}
|
|
|
|
@end
|