// // QXDynamicCommentCell.m // QXLive // // Created by 启星 on 2025/6/4. // #import "QXDynamicCommentCell.h" @implementation QXDynamicCommentCell +(instancetype)cellWithTableView:(UITableView *)tableView{ static NSString *cellId = @"QXDynamicCommentCell"; QXDynamicCommentCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId]; if (!cell) { cell = [[NSBundle mainBundle] loadNibNamed:cellId owner:nil options:nil].lastObject; cell.backgroundColor = [UIColor clearColor]; UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:cell action:@selector(handleLongPress:)]; [cell addGestureRecognizer:longPress]; } return cell; } -(void)setModel:(QXDynamicCommentListModel *)model{ _model = model; NSString *commentUser = @""; if (model.reply_to_user.length == 0) { commentUser = [NSString stringWithFormat:@"%@:",model.nickname]; }else{ commentUser = [NSString localizedStringWithFormat:QXText(@"%@ 回复 %@:"),model.nickname,model.reply_to_user]; } NSString* content = [NSString stringWithFormat:@"%@%@",commentUser,model.content]; NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:content]; [attr yy_setColor:RGB16(0x999999) range:[content rangeOfString:model.content]]; [attr yy_setColor:RGB16(0x333333) range:[content rangeOfString:commentUser]]; self.commentLabel.attributedText = attr; NSDate *date = [NSDate dateWithTimeIntervalSince1970:model.createtime.longLongValue]; //此处根据项目需求,选择是否除以1000 , 如果时间戳精确到秒则去掉1000 NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; NSString*time = [formatter stringFromDate:date]; self.timeLabel.text = time; } -(void)handleLongPress:(UILongPressGestureRecognizer *)gesture{ if (gesture.state == UIGestureRecognizerStateBegan) { if (self.longPressBlock) { self.longPressBlock(self.model); } } } - (void)awakeFromNib { [super awakeFromNib]; // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end