144 lines
3.9 KiB
Objective-C
144 lines
3.9 KiB
Objective-C
//
|
|
// XPRoomFaceCollectionViewCell.m
|
|
// xplan-ios
|
|
//
|
|
// Created by 冯硕 on 2022/3/9.
|
|
//
|
|
|
|
#import "XPRoomFaceCollectionViewCell.h"
|
|
///Third
|
|
#import <Masonry/Masonry.h>
|
|
///Tool
|
|
#import "NetImageView.h"
|
|
#import "ThemeColor.h"
|
|
///Model
|
|
#import "RoomFaceInfoModel.h"
|
|
|
|
@interface XPRoomFaceCollectionViewCell ()
|
|
///表情的图片
|
|
@property (nonatomic,strong) UIImageView *faceImageView;
|
|
///表情的标题
|
|
@property (nonatomic,strong) UILabel *faceTitleLabel;
|
|
///贵族的类型
|
|
@property (nonatomic,strong) NetImageView *nobleTypeImageView;
|
|
///是否是贵族🔐
|
|
@property (nonatomic,strong) UIImageView *nobleLockImageView;
|
|
///覆盖的背景
|
|
@property (nonatomic,strong) UIView * coverView;
|
|
@end
|
|
|
|
@implementation XPRoomFaceCollectionViewCell
|
|
|
|
- (instancetype)initWithFrame:(CGRect)frame {
|
|
self = [super initWithFrame:frame];
|
|
if (self) {
|
|
[self initSubViews];
|
|
[self initSubViewConstraints];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
#pragma mark - Private Method
|
|
- (void)initSubViews {
|
|
[self.contentView addSubview:self.faceImageView];
|
|
[self.contentView addSubview:self.coverView];
|
|
[self.contentView addSubview:self.nobleTypeImageView];
|
|
[self.contentView addSubview:self.faceTitleLabel];
|
|
[self.contentView addSubview:self.nobleLockImageView];
|
|
}
|
|
|
|
- (void)initSubViewConstraints {
|
|
[self.faceImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.size.mas_equalTo(CGSizeMake(60, 60));
|
|
make.centerX.mas_equalTo(self.contentView);
|
|
make.top.mas_equalTo(self.contentView);
|
|
}];
|
|
|
|
[self.coverView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.edges.mas_equalTo(self.faceImageView);
|
|
}];
|
|
|
|
[self.nobleTypeImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.mas_equalTo(12 * 1.4);
|
|
make.height.mas_equalTo(10 * 1.4);
|
|
make.left.top.mas_equalTo(self.contentView);
|
|
}];
|
|
|
|
[self.faceTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.left.right.mas_equalTo(self.contentView);
|
|
make.top.mas_equalTo(self.faceImageView.mas_bottom).offset(4);
|
|
}];
|
|
|
|
[self.nobleLockImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.size.mas_equalTo(CGSizeMake(11, 11));
|
|
make.bottom.right.mas_equalTo(self.faceImageView);
|
|
}];
|
|
}
|
|
#pragma mark - Getters And Setters
|
|
- (void)setFaceInfo:(RoomFaceInfoModel *)faceInfo {
|
|
_faceInfo = faceInfo;
|
|
if (_faceInfo) {
|
|
self.faceImageView.image = _faceInfo.faceImage;
|
|
self.faceTitleLabel.text = _faceInfo.name;
|
|
if (_faceInfo.faceVipInfo) {
|
|
self.nobleTypeImageView.imageUrl = _faceInfo.faceVipInfo.vipIcon;
|
|
self.nobleTypeImageView.hidden = NO;
|
|
if (_faceInfo.faceVipInfo.vipLevel < self.vipLevel) {
|
|
self.nobleLockImageView.hidden = YES;
|
|
} else {
|
|
self.nobleLockImageView.hidden = NO;
|
|
}
|
|
} else {
|
|
self.nobleTypeImageView.hidden = YES;
|
|
self.nobleLockImageView.hidden = YES;
|
|
}
|
|
}
|
|
}
|
|
|
|
- (UIImageView *)faceImageView {
|
|
if (!_faceImageView) {
|
|
_faceImageView = [[UIImageView alloc] init];
|
|
_faceImageView.userInteractionEnabled = YES;
|
|
}
|
|
return _faceImageView;
|
|
}
|
|
|
|
- (NetImageView *)nobleTypeImageView {
|
|
if (!_nobleTypeImageView) {
|
|
_nobleTypeImageView = [[NetImageView alloc] init];
|
|
_nobleTypeImageView.layer.masksToBounds = YES;
|
|
_nobleTypeImageView.contentMode = UIViewContentModeScaleAspectFit;
|
|
}
|
|
return _nobleTypeImageView;
|
|
}
|
|
|
|
- (UIImageView *)nobleLockImageView {
|
|
if (!_nobleLockImageView) {
|
|
_nobleLockImageView = [[UIImageView alloc] init];
|
|
_nobleLockImageView.image = [UIImage imageNamed:@"room_face_nobel_lock"];
|
|
}
|
|
return _nobleLockImageView;
|
|
}
|
|
|
|
- (UILabel *)faceTitleLabel {
|
|
if (!_faceTitleLabel) {
|
|
_faceTitleLabel = [[UILabel alloc] init];
|
|
_faceTitleLabel.font = [UIFont systemFontOfSize:10];
|
|
_faceTitleLabel.textColor = [UIColor whiteColor];
|
|
_faceTitleLabel.textAlignment = NSTextAlignmentCenter;
|
|
}
|
|
return _faceTitleLabel;
|
|
}
|
|
|
|
- (UIView *)coverView {
|
|
if (!_coverView) {
|
|
_coverView = [[UIView alloc] init];
|
|
_coverView.backgroundColor = UIColorRGBAlpha(0x000000, 0.3);
|
|
}
|
|
return _coverView;
|
|
}
|
|
|
|
|
|
|
|
@end
|