155 lines
4.8 KiB
Objective-C
155 lines
4.8 KiB
Objective-C
//
|
||
// MessageContentLevelUpgradeView.m
|
||
// xplan-ios
|
||
//
|
||
// Created by 冯硕 on 2022/4/19.
|
||
//
|
||
|
||
#import "MessageContentLevelUpgradeView.h"
|
||
///Third
|
||
#import <Masonry/Masonry.h>
|
||
///Tool
|
||
#import "ThemeColor.h"
|
||
#import "NSObject+MJExtension.h"
|
||
#import "XPHtmlUrl.h"
|
||
#import "XCCurrentVCStackManager.h"
|
||
///Model
|
||
#import "ContentLevelUpgradeModel.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
|
||
+ (CGFloat)measureHeight:(NIMMessage *)message {
|
||
return (116 + CONTENT_PADDING_V_TOTAL + MESSAGE_PADDING);
|
||
}
|
||
|
||
- (void)render:(NIMMessage *)message {
|
||
NIMCustomObject *obj = (NIMCustomObject *)message.messageObject;
|
||
AttachmentModel * attach = obj.attachment;
|
||
ContentLevelUpgradeModel * model = [ContentLevelUpgradeModel modelWithJSON:attach.data];
|
||
if (attach.second == Custom_Message_Sub_User_UpGrade_Charm) {
|
||
self.logoImageView.image = [UIImage imageNamed:@"message_content_upgrade_charm"];
|
||
self.levelLabel.text = [NSString stringWithFormat:@"恭喜!您的魅力等级已到达Lv%@", model.levelName];
|
||
} else {
|
||
self.logoImageView.image = [UIImage imageNamed:@"message_content_upgrade_expre"];
|
||
self.levelLabel.text = [NSString stringWithFormat:@"恭喜!您的等级已到达Lv%@", model.levelName];
|
||
}
|
||
}
|
||
|
||
- (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.left.mas_equalTo(self.backView);
|
||
make.top.mas_equalTo(self.backView);
|
||
}];
|
||
|
||
[self.levelLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||
make.left.mas_equalTo(self.logoImageView.mas_right).offset(10);
|
||
make.right.mas_equalTo(self.backView);
|
||
make.top.mas_equalTo(self.logoImageView).offset(10);
|
||
}];
|
||
|
||
[self.lineView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||
make.left.right.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.left.right.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.right.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 = [ThemeColor mainTextColor];
|
||
_levelLabel.numberOfLines = 2;
|
||
}
|
||
return _levelLabel;
|
||
}
|
||
|
||
- (UIButton *)checkButton {
|
||
if (!_checkButton) {
|
||
_checkButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||
[_checkButton setTitle:@"立即查看" 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 = [ThemeColor dividerColor];
|
||
}
|
||
return _lineView;
|
||
}
|
||
|
||
- (UIImageView *)arrowImageView {
|
||
if (!_arrowImageView) {
|
||
_arrowImageView = [[UIImageView alloc] init];
|
||
_arrowImageView.userInteractionEnabled = YES;
|
||
_arrowImageView.image = [UIImage imageNamed:@"common_right_arrow"];
|
||
}
|
||
return _arrowImageView;
|
||
}
|
||
|
||
|
||
@end
|