Files
yinmeng-ios/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XPRoomFaceCollectionViewCell.m
2022-03-10 18:57:06 +08:00

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