提交
This commit is contained in:
130
QXLive/Message(音信)/View/QXSystemTopView.m
Normal file
130
QXLive/Message(音信)/View/QXSystemTopView.m
Normal file
@@ -0,0 +1,130 @@
|
||||
//
|
||||
// QXSystemTopView.m
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/5/26.
|
||||
//
|
||||
|
||||
#import "QXSystemTopView.h"
|
||||
|
||||
@interface QXSystemTopView()
|
||||
@property(nonatomic,strong)QXSystemTopSubView *noticeView;
|
||||
@property(nonatomic,strong)QXSystemTopSubView *systemView;
|
||||
@property(nonatomic,strong)UIView *bottomView;
|
||||
@end
|
||||
@implementation QXSystemTopView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubviews];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)initSubviews{
|
||||
MJWeakSelf
|
||||
self.noticeView = [[QXSystemTopSubView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 74)];
|
||||
self.noticeView.iconImageView.image = [UIImage imageNamed:@"notice_icon"];
|
||||
self.noticeView.titleLabel.text = QXText(@"官方公告");
|
||||
[self.noticeView addTapBlock:^(id _Nonnull obj) {
|
||||
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickNoticeWithType:)]) {
|
||||
[weakSelf.delegate didClickNoticeWithType:0];
|
||||
}
|
||||
}];
|
||||
[self addSubview:self.noticeView];
|
||||
|
||||
self.systemView = [[QXSystemTopSubView alloc] initWithFrame:CGRectMake(0, 74, SCREEN_WIDTH, 74)];
|
||||
self.systemView.iconImageView.image = [UIImage imageNamed:@"system_icon"];
|
||||
self.systemView.titleLabel.text = QXText(@"系统消息");
|
||||
[self addSubview:self.systemView];
|
||||
[self.systemView addTapBlock:^(id _Nonnull obj) {
|
||||
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickNoticeWithType:)]) {
|
||||
[weakSelf.delegate didClickNoticeWithType:1];
|
||||
}
|
||||
}];
|
||||
|
||||
self.bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, self.systemView.bottom, SCREEN_WIDTH, 8)];
|
||||
self.bottomView.backgroundColor = RGB16(0xececec);
|
||||
[self addSubview:self.bottomView];
|
||||
}
|
||||
-(void)setModel:(QXMessageModel *)model{
|
||||
_model = model;
|
||||
self.noticeView.subTitleLabel.text = model.announcement_last_message.title;
|
||||
self.systemView.subTitleLabel.text = model.system_last_message.title;
|
||||
[self.noticeView.unreadView setNum:model.announcement_read_count.integerValue];
|
||||
[self.systemView.unreadView setNum:model.system_no_read_count.integerValue];
|
||||
}
|
||||
@end
|
||||
|
||||
@implementation QXSystemTopSubView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubviews];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)initSubviews{
|
||||
self.iconImageView = [[UIImageView alloc] initWithFrame:CGRectMake(16, 12, 50, 50)];
|
||||
[self addSubview:self.iconImageView];
|
||||
[self.iconImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(16);
|
||||
make.top.mas_equalTo(12);
|
||||
make.size.mas_equalTo(CGSizeMake(50, 50));
|
||||
}];
|
||||
self.titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.iconImageView.right+10, self.iconImageView.top, self.width-self.iconImageView.right-10-16, 24)];
|
||||
self.titleLabel.font = [UIFont boldSystemFontOfSize:16];
|
||||
self.titleLabel.textColor = RGB16(0x333333);
|
||||
[self addSubview:self.titleLabel];
|
||||
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(self.iconImageView.mas_right).offset(10);
|
||||
make.top.mas_equalTo(12);
|
||||
make.height.mas_equalTo(24);
|
||||
make.right.mas_equalTo(-16);
|
||||
}];
|
||||
|
||||
self.subTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.iconImageView.right+10, self.iconImageView.top, self.width-self.iconImageView.right-10-16, 24)];
|
||||
self.subTitleLabel.font = [UIFont systemFontOfSize:12];
|
||||
self.subTitleLabel.textColor = RGB16(0x666666);
|
||||
[self addSubview:self.subTitleLabel];
|
||||
[self.subTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.equalTo(self.titleLabel);
|
||||
make.bottom.mas_equalTo(-16);
|
||||
make.trailing.mas_equalTo(self).mas_offset(- 2*TConversationCell_Margin_Text);
|
||||
make.height.mas_equalTo(17);
|
||||
}];
|
||||
|
||||
self.unreadView = [[TUIUnReadView alloc] init];
|
||||
[self.unreadView setNum:0];
|
||||
[self addSubview:self.unreadView];
|
||||
[self.unreadView.unReadLabel sizeToFit];
|
||||
[self.unreadView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.mas_equalTo(self.mas_trailing).offset(-16);
|
||||
make.centerY.mas_equalTo(self.subTitleLabel);
|
||||
make.width.mas_equalTo(kScale375(20));
|
||||
make.height.mas_equalTo(kScale375(20));
|
||||
}];
|
||||
|
||||
|
||||
[self.unreadView.unReadLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.center.mas_equalTo(self.unreadView);
|
||||
make.size.mas_equalTo(self.unreadView.unReadLabel);
|
||||
}];
|
||||
self.unreadView.layer.cornerRadius = kScale375(10);
|
||||
[self.unreadView.layer masksToBounds];
|
||||
|
||||
UIView *line = [[UIView alloc] init];
|
||||
line.backgroundColor = RGB16(0xDBDBDB);
|
||||
[self addSubview:line];
|
||||
[line mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(16);
|
||||
make.right.mas_equalTo(-16);
|
||||
make.height.mas_equalTo(0.5);
|
||||
make.bottom.equalTo(self);
|
||||
}];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user