// // HDLEZVideoDoorMsgCell.m // EZSDK // // Created by Davin on 2023/6/15. // #import "HDLEZVideoDoorMsgCell.h" @interface HDLEZVideoDoorMsgCell () @property (strong, nonatomic) UILabel *messageTitle; //@property (strong, nonatomic) UILabel *statusLabel; @property (strong, nonatomic) UILabel *timeLabel; @property (strong, nonatomic) UIImageView *messageImageView; @property (strong, nonatomic) UIView *separatorLine; @end @implementation HDLEZVideoDoorMsgCell - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { [self createSubviews]; } return self; } - (void)createSubviews { self.contentView.backgroundColor = UIColor.whiteColor; [self.contentView addSubview:self.messageTitle]; // [self.contentView addSubview:self.statusLabel]; [self.contentView addSubview:self.timeLabel]; [self.contentView addSubview:self.messageImageView]; [self.contentView addSubview:self.separatorLine]; [self.messageTitle mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(self.contentView.mas_top).offset(24.); make.left.mas_equalTo(self.contentView.mas_left).offset(16.); make.right.mas_lessThanOrEqualTo(self.messageImageView.mas_left).offset(-16.); }]; // [self.statusLabel mas_makeConstraints:^(MASConstraintMaker *make) { // make.top.mas_equalTo(self.messageTitle.mas_top).offset(0.); // make.left.mas_equalTo(self.messageTitle.mas_right).offset(8.); // make.right.mas_lessThanOrEqualTo(self.messageImageView.mas_left).offset(-8.); // make.width.mas_equalTo(40); // make.height.mas_equalTo(20); // }]; [self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(self.messageTitle.mas_bottom).offset(4.); make.left.mas_equalTo(self.messageTitle.mas_left); make.bottom.mas_equalTo(self.contentView.mas_bottom).offset(-12.); make.height.mas_equalTo(17); }]; [self.messageImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(self.contentView.mas_right).offset(-16.); make.centerY.mas_equalTo(self.contentView.mas_centerY); make.width.mas_equalTo(72.); make.height.mas_equalTo(41.); }]; [self.separatorLine mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.messageTitle.mas_left); make.bottom.mas_equalTo(self.contentView.mas_bottom); make.right.mas_equalTo(self.messageImageView.mas_right); make.height.mas_equalTo(0.5); }]; } #pragma mark - PublishMethod - (void)configMessageInfoWithTitle:(NSString *)title deviceStatus:(NSString *)deviceStatus messageTime:(NSString *)time messageImage:(NSString *)messageUrl { if (deviceStatus && deviceStatus.length > 0) { NSMutableAttributedString *abs = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@ ", title]]; UIImage *image = [UIImage imageNamed:([deviceStatus isEqualToString:@"已接"] ? @"hdl_ez_msg_answer" : @"hdl_ez_msg_no_answer")]; NSTextAttachment *attach = [[NSTextAttachment alloc] init]; attach.image = image; NSAttributedString *imageStr = [NSAttributedString attributedStringWithAttachment:attach]; [abs appendAttributedString:imageStr]; [abs addAttribute:NSBaselineOffsetAttributeName value:@(-5) range:NSMakeRange(title.length + 2, 1)]; // +2是适配空格 self.messageTitle.attributedText = abs; } else { if (title && title.length > 0) { self.messageTitle.text = title; } } // if (deviceStatus && deviceStatus.length > 0) { // // // // self.statusLabel.text = deviceStatus; // [self.statusLabel mas_updateConstraints:^(MASConstraintMaker *make) { // make.width.mas_equalTo(40.); // }]; // self.statusLabel.backgroundColor = [deviceStatus isEqualToString:@"已接"] ? HDLEZHEXCOLOR(0x00C22D, 1.) : HDLEZHEXCOLOR(0xFF4747, 1.); // } else { // [self.statusLabel mas_updateConstraints:^(MASConstraintMaker *make) { // make.width.mas_equalTo(0.); // }]; // } if (time && time.length > 0) { self.timeLabel.text = time; } if (messageUrl && messageUrl.length > 0) { [self.messageImageView sd_setImageWithURL:[NSURL URLWithString:messageUrl] placeholderImageScale:[UIImage imageNamed:@"hdl_ez_msg_placeholder"]]; [self.messageImageView mas_updateConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(self.contentView.mas_right).offset(-16.); make.width.mas_equalTo(72.); }]; } else { [self.messageImageView mas_updateConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(self.contentView.mas_right).offset(0.); make.width.mas_equalTo(0.); }]; } } - (void)showSpearator:(BOOL)isShow { self.separatorLine.hidden = !isShow; } #pragma mark - Getter - (UILabel *)messageTitle { if (!_messageTitle) { _messageTitle=[[UILabel alloc] init]; _messageTitle.font = HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_14); _messageTitle.textColor=HDLEZ_COLOR_TITLE_BLACK; _messageTitle.lineBreakMode = NSLineBreakByTruncatingMiddle; _messageTitle.numberOfLines = 2; } return _messageTitle; } //- (UILabel *)statusLabel { // if (!_statusLabel) { // _statusLabel=[[UILabel alloc] init]; // _statusLabel.font = HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_12); // _statusLabel.textColor = HDLEZ_COLOR_TEXT_WHITE; // _statusLabel.textAlignment = NSTextAlignmentCenter; // _statusLabel.layer.cornerRadius = 4; // _statusLabel.clipsToBounds = YES; // } // return _statusLabel; //} - (UILabel *)timeLabel { if (!_timeLabel) { _timeLabel=[[UILabel alloc] init]; _timeLabel.font = HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_12); _timeLabel.textColor=HDLEZ_COLOR_TEXT_LIGHT_GRAY; } return _timeLabel; } - (UIImageView *)messageImageView { if (!_messageImageView) { _messageImageView = [[UIImageView alloc] init]; _messageImageView.contentMode = UIViewContentModeScaleAspectFill; _messageImageView.backgroundColor = HDLEZ_COLOR_TEXT_LIGHT_GRAY; _messageImageView.layer.cornerRadius = 4; _messageImageView.clipsToBounds = YES; } return _messageImageView; } - (UIView *)separatorLine { if (!_separatorLine) { _separatorLine = [[UIView alloc] init]; _separatorLine.backgroundColor = HDLEZ_COLOR_BACKGROUND_LINE; } return _separatorLine; } @end