2025-08-08 10:49:36 +08:00
|
|
|
//
|
|
|
|
|
// 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)];
|
2025-08-14 09:40:25 +08:00
|
|
|
// self.bottomView.backgroundColor = RGB16(0xececec);
|
|
|
|
|
self.bottomView.backgroundColor = [UIColor clearColor];
|
2025-08-08 10:49:36 +08:00
|
|
|
[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
|