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

126 lines
3.1 KiB
Objective-C

//
// YMSessionListHeadItemView.m
// YUMI
//
// Created by YUMI on 2022/11/17.
//
#import "XPSessionListHeadItemView.h"
#import <Masonry/Masonry.h>
#import "DJDKMIMOMColor.h"
#import "NIMBadgeView.h"
#import "UIView+NIM.h"
#import "YUMIMacroUitls.h"
@interface XPSessionListHeadItemView()
@property (nonatomic, strong) UILabel *nameLabel;
@property (nonatomic, strong) UIImageView *imageView;
@property (nonatomic, strong) UIView *dotView;
///未读
@property (nonatomic,strong) NIMBadgeView *badgeView;
@end
@implementation XPSessionListHeadItemView
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
[self initView];
[self initContraints];
}
return self;
}
- (void)layoutSubviews {
[super layoutSubviews];
self.badgeView.nim_right = self.imageView.nim_right+2;
self.badgeView.nim_top = self.imageView.nim_top - 6;
}
- (void)initView {
[self addSubview:self.imageView];
[self addSubview:self.nameLabel];
[self addSubview:self.dotView];
[self addSubview:self.badgeView];
}
- (void)initContraints {
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(KScreenWidth / 4);
}];
[self.imageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.centerX.mas_equalTo(0);
make.width.height.mas_equalTo(50);
}];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.bottom.mas_equalTo(0);
make.top.mas_equalTo(self.imageView.mas_bottom).mas_offset(8);
make.bottom.mas_equalTo(0);
make.height.mas_equalTo(17);
}];
[self.dotView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.trailing.mas_equalTo(self.imageView);
make.width.height.mas_equalTo(12);
}];
}
- (void)setTitle:(NSString *)title {
self.nameLabel.text = title;
}
- (void)setImageName:(NSString *)imageName {
self.imageView.image = [UIImage imageNamed:imageName];
}
- (void)setShowDot:(BOOL)showDot {
self.dotView.hidden = !showDot;
}
- (void)setBadgeValue:(NSInteger)badgeValue {
if (badgeValue) {
self.badgeView.hidden = NO;
self.badgeView.badgeValue = @(badgeValue).stringValue;
} else {
self.badgeView.hidden = YES;
}
}
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] initWithFrame:CGRectZero];
_nameLabel.backgroundColor = [UIColor clearColor];
_nameLabel.font = [UIFont systemFontOfSize:14];
_nameLabel.textColor = DJDKMIMOMColor.mainTextColor;
}
return _nameLabel;
}
- (UIImageView *)imageView {
if (!_imageView) {
_imageView = [[UIImageView alloc] init];
}
return _imageView;
}
- (UIView *)dotView {
if (!_dotView) {
_dotView = [[UIView alloc] init];
_dotView.layer.cornerRadius = 6;
_dotView.layer.masksToBounds = YES;
_dotView.backgroundColor = UIColorFromRGB(0xFB486A);
_dotView.hidden = YES;
}
return _dotView;
}
- (NIMBadgeView *)badgeView {
if (!_badgeView) {
_badgeView = [NIMBadgeView viewWithBadgeTip:@""];
_badgeView.hidden = YES;
}
return _badgeView;
}
@end