Files
yinmeng-ios/xplan-ios/Main/Message/View/Session/Content/MessageContentLevelUpgradeView.m
2022-05-13 16:12:18 +08:00

155 lines
4.8 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// 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