Files
featherVoice/QXLive/Dynamic(语圈)/View/详情/QXDynamicCommentCell.m

62 lines
2.3 KiB
Mathematica
Raw Normal View History

2025-08-08 10:49:36 +08:00
//
// 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