Files
peko-ios/YuMi/Modules/YMMessage/View/Session/Content/MessageContentLevelUpgradeView.m
2024-04-11 17:05:27 +08:00

146 lines
4.3 KiB
Objective-C

//
// MessageContentLevelUpgradeView.m
// YUMI
//
// Created by YUMI on 2022/4/19.
//
#import "MessageContentLevelUpgradeView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "DJDKMIMOMColor.h"
#import "NSObject+MJExtension.h"
#import "YUMIHtmlUrl.h"
#import "XCCurrentVCStackManager.h"
///Model
#import "MessageLevelUpgradeModel.h"
///View
#import "XPWebViewController.h"
@interface MessageContentLevelUpgradeView ()
///logo
@property (nonatomic,strong) UIImageView *logoImageView;
///等级升级
@property (nonatomic,strong) UILabel *levelLabel;
///分割线
@property (nonatomic,strong) UIView * lineView;
///查看
@property (nonatomic,strong) UIButton *checkButton;
///箭头
@property (nonatomic,strong) UIImageView *arrowImageView;
@end
@implementation MessageContentLevelUpgradeView
- (void)render:(MessageBaseModel *)model {
MessageLevelUpgradeModel *obj = (MessageLevelUpgradeModel *)model;
self.logoImageView.image = [UIImage imageNamed:obj.imageName];
self.levelLabel.text = obj.level;
}
- (void)initSubViews {
[super initSubViews];
[self.backView addSubview:self.logoImageView];
[self.backView addSubview:self.levelLabel];
[self.backView addSubview:self.lineView];
[self.backView addSubview:self.checkButton];
[self.backView addSubview:self.arrowImageView];
}
- (void)initSubViewConstraints {
[super initSubViewConstraints];
[self.backView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self).insets(UIEdgeInsetsMake(MESSAGE_PADDING, MESSAGE_PADDING, 0, MESSAGE_PADDING));
make.size.mas_equalTo(CGSizeMake(220, 116));
}];
[self.logoImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(64,64));
make.leading.mas_equalTo(self.backView);
make.top.mas_equalTo(self.backView);
}];
[self.levelLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.logoImageView.mas_trailing).offset(10);
make.trailing.mas_equalTo(self.backView);
make.top.mas_equalTo(self.logoImageView).offset(10);
}];
[self.lineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backView);
make.height.mas_equalTo(0.5);
make.top.mas_equalTo(self.logoImageView.mas_bottom).offset(10);
}];
[self.checkButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backView);
make.height.mas_equalTo(40);
make.top.mas_equalTo(self.lineView.mas_bottom);
}];
[self.arrowImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(6.5, 11));
make.trailing.mas_equalTo(self.backView);
make.centerY.mas_equalTo(self.checkButton);
}];
}
#pragma mark - Event Response
- (void)checkButtonAction:(UIButton *)sender {
XPWebViewController * webVC = [[XPWebViewController alloc] init];
webVC.url = URLWithType(kUserLevelURL);
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES];
}
#pragma mark - Getters And Setters
- (UIImageView *)logoImageView {
if (!_logoImageView) {
_logoImageView = [[UIImageView alloc] init];
}
return _logoImageView;
}
- (UILabel *)levelLabel {
if (!_levelLabel) {
_levelLabel = [[UILabel alloc] init];
_levelLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
_levelLabel.textColor = [DJDKMIMOMColor mainTextColor];
_levelLabel.numberOfLines = 2;
}
return _levelLabel;
}
- (UIButton *)checkButton {
if (!_checkButton) {
_checkButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_checkButton setTitle:YMLocalizedString(@"MessageContentLevelUpgradeView0") forState:UIControlStateNormal];
[_checkButton setTitleColor:UIColorFromRGB(0x4C5AF1) forState:UIControlStateNormal];
_checkButton.titleLabel.font = [UIFont systemFontOfSize:14];
[_checkButton addTarget:self action:@selector(checkButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _checkButton;
}
- (UIView *)lineView {
if (!_lineView) {
_lineView = [[UIView alloc] init];
_lineView.backgroundColor = [DJDKMIMOMColor dividerColor];
}
return _lineView;
}
- (UIImageView *)arrowImageView {
if (!_arrowImageView) {
_arrowImageView = [[UIImageView alloc] init];
_arrowImageView.userInteractionEnabled = YES;
_arrowImageView.image = [UIImage imageNamed:@"common_right_arrow"];
}
return _arrowImageView;
}
@end