212 lines
5.9 KiB
Objective-C
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
|