// // AnchorLevelView.m // xplan-ios // // Created by 冯硕 on 2022/12/13. // #import "AnchorLevelView.h" ///Third #import ///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 addSubview:self.levelImageView]; [self 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(291); }]; [self.levelImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(80, 120)); make.top.mas_equalTo(self).offset(0); make.right.mas_equalTo(self.backImageView).offset(-13); }]; [self.currentLevelLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(self).offset(-80); make.top.mas_equalTo(self).offset(27); }]; [self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(303, 280)); make.top.mas_equalTo(self).offset(11); make.centerX.mas_equalTo(self); }]; [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) { 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