Files
yinmeng-ios/xplan-ios/Main/Mine/View/SubViews/AnchorLevel/AnchorLevelView.m
2023-01-04 14:14:33 +08:00

212 lines
5.9 KiB
Objective-C

//
// AnchorLevelView.m
// xplan-ios
//
// Created by 冯硕 on 2022/12/13.
//
#import "AnchorLevelView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
///Model
#import "AnchorLevelModel.h"
///View
#import "AnchorLevelProgressView.h"
#import "AnchorLevelTimeView.h"
@interface AnchorLevelView ()
///背景图
@property (nonatomic,strong) UIImageView *backImageView;
///当前评级
@property (nonatomic,strong) UILabel *currentLevelLabel;
///当前等级
@property (nonatomic,strong) UIImageView *levelImageView;
///显示标题
@property (nonatomic,strong) UIImageView *titleImageView;
///钻石
@property (nonatomic,strong) AnchorLevelProgressView *diamondView;
///回复
@property (nonatomic,strong) AnchorLevelProgressView * replyView;
///更新时间
@property (nonatomic,strong) UIImageView *updateImageView;
///倒计时
@property (nonatomic,strong) AnchorLevelTimeView *timeView;
@end
@implementation AnchorLevelView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self.backImageView addSubview:self.levelImageView];
[self.backImageView addSubview:self.titleImageView];
[self.backImageView addSubview:self.currentLevelLabel];
[self.backImageView addSubview:self.diamondView];
[self.backImageView addSubview:self.replyView];
[self.backImageView addSubview:self.updateImageView];
[self.backImageView addSubview:self.timeView];
}
- (void)initSubViewConstraints {
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(303);
make.height.mas_equalTo(280);
}];
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.levelImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(90, 80));
make.top.mas_equalTo(self).offset(11);
make.right.mas_equalTo(self.backImageView).offset(-7);
}];
[self.currentLevelLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self.levelImageView.mas_left).offset(0);
make.top.mas_equalTo(self).offset(16);
}];
[self.titleImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(159, 20));
make.left.mas_equalTo(self.backImageView).offset(12);
make.top.mas_equalTo(self.backImageView).offset(48);
}];
[self.diamondView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.titleImageView.mas_bottom).offset(25);
make.height.mas_equalTo(40);
}];
[self.replyView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.diamondView.mas_bottom).offset(23);
make.height.mas_equalTo(40);
}];
[self.updateImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(94, 20));
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.replyView.mas_bottom).offset(17);
}];
[self.timeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backImageView);
make.height.mas_equalTo(24);
make.top.mas_equalTo(self.updateImageView.mas_bottom).offset(7);
}];
}
#pragma mark - Getters And Setters
- (void)setLevelInfo:(AnchorLevelModel *)levelInfo {
_levelInfo = levelInfo;
if (_levelInfo) {
_levelInfo.grade = @"S";
self.diamondView.levelInfo = _levelInfo;
self.replyView.levelInfo = _levelInfo;
self.timeView.nextRemaining = _levelInfo.nextRemaining;
if ([_levelInfo.grade isEqualToString:@"S"]) {
self.levelImageView.image = [UIImage imageNamed:@"mine_anchor_level_s"];
} else if([_levelInfo.grade isEqualToString:@"B"]) {
self.levelImageView.image = [UIImage imageNamed:@"mine_anchor_level_b"];
} else if([_levelInfo.grade isEqualToString:@"C"]) {
self.levelImageView.image = [UIImage imageNamed:@"mine_anchor_level_c"];
}else if([_levelInfo.grade isEqualToString:@"D"]) {
self.levelImageView.image = [UIImage imageNamed:@"mine_anchor_level_d"];
} else {
self.levelImageView.image = [UIImage imageNamed:@"mine_anchor_level_a"];
}
}
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"mine_anchor_level_bg"];
}
return _backImageView;
}
- (UILabel *)currentLevelLabel {
if (!_currentLevelLabel) {
_currentLevelLabel = [[UILabel alloc] init];
_currentLevelLabel.font = [UIFont systemFontOfSize:10 weight:UIFontWeightBold];
_currentLevelLabel.textColor = [UIColor whiteColor];
_currentLevelLabel.text = @"当前评级";
}
return _currentLevelLabel;
}
- (UIImageView *)levelImageView {
if (!_levelImageView) {
_levelImageView = [[UIImageView alloc] init];
_levelImageView.userInteractionEnabled = YES;
}
return _levelImageView;
}
- (UIImageView *)titleImageView {
if (!_titleImageView) {
_titleImageView = [[UIImageView alloc] init];
_titleImageView.userInteractionEnabled = YES;
_titleImageView.image = [UIImage imageNamed:@"mine_anchor_level_title"];
}
return _titleImageView;
}
- (AnchorLevelProgressView *)diamondView {
if (!_diamondView) {
_diamondView = [[AnchorLevelProgressView alloc] init];
_diamondView.isDiamond = YES;
}
return _diamondView;
}
- (AnchorLevelProgressView *)replyView {
if (!_replyView) {
_replyView = [[AnchorLevelProgressView alloc] init];
}
return _replyView;
}
- (UIImageView *)updateImageView {
if (!_updateImageView) {
_updateImageView = [[UIImageView alloc] init];
_updateImageView.userInteractionEnabled = YES;
_updateImageView.image = [UIImage imageNamed:@"mine_anchor_level_update"];
}
return _updateImageView;
}
- (AnchorLevelTimeView *)timeView {
if (!_timeView) {
_timeView = [[AnchorLevelTimeView alloc] init];
}
return _timeView;
}
@end