// // IfishMessageViewCell.m // Ifish // // Created by imac on 16/7/26. // Copyright © 2016年 lianxiang. All rights reserved. // #import "IfishMessageViewCell.h" //#import "UIImageView+WebCache.h" @interface IfishMessageViewCell() Copy NSString *messageId; Strong UIButton *bgBtn; @end @implementation IfishMessageViewCell -(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { self.selectionStyle = UITableViewCellSelectionStyleNone; [self loadSubViews]; } return self; } -(void)loadSubViews{ [self.contentView addSubview:self.pushTypeImg]; [self.contentView addSubview:self.pushTitle]; [self.contentView addSubview:self.pushContent]; [self.contentView addSubview:self.pushTimeLabel]; [self.contentView addSubview:self.deleteBtn]; [self.contentView addSubview:self.bgBtn]; [self loadLayout]; } #pragma mark -- loadUI -(UILabel *)pushTitle { if (!_pushTitle) { _pushTitle = [[UILabel alloc]init]; _pushTitle.font = SYSTEMSIZE(34); _pushTitle.textColor = [UIColor blackColor]; } return _pushTitle; } -(UILabel *)pushTimeLabel { if (!_pushTimeLabel) { _pushTimeLabel = [[UILabel alloc]init]; _pushTimeLabel.font = SYSTEMSIZE(24); _pushTimeLabel.textColor = RGB(178, 178, 178); } return _pushTimeLabel; } -(UILabel *)pushContent { if (!_pushContent) { _pushContent = [[UILabel alloc]init]; _pushContent.font = SYSTEMSIZE(28); _pushContent.textColor = RGB(178, 178, 178); _pushContent.numberOfLines = 0; } return _pushContent; } -(UIImageView *)pushTypeImg { if (!_pushTypeImg) { _pushTypeImg = [[UIImageView alloc]init]; [_pushTypeImg setImage:IMAGEBYENAME(@"enter_logo")]; } return _pushTypeImg; } -(UIButton *)deleteBtn{ if (!_deleteBtn) { _deleteBtn = InitObject(UIButton); _deleteBtn.contentMode = UIViewContentModeCenter; [_deleteBtn setImage:IMAGEBYENAME(@"message_delete") forState:UIControlStateNormal]; [_deleteBtn setImage:IMAGEBYENAME(@"message_delete_sel") forState:UIControlStateSelected]; _deleteBtn.hidden = YES; } return _deleteBtn; } -(UIButton *)bgBtn{ if (!_bgBtn) { _bgBtn = InitObject(UIButton); [_bgBtn addTarget:self action:@selector(deleteBtnClick:) forControlEvents:UIControlEventTouchUpInside]; _bgBtn.hidden = YES; } return _bgBtn; } -(void)loadLayout{ [self.pushTypeImg mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(kSizeFrom750(15)); make.centerY.mas_equalTo(self.contentView); make.width.height.mas_equalTo(kSizeFrom750(105)); }]; [self.pushTitle mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(kSizeFrom750(16)); make.height.mas_equalTo(kSizeFrom750(44)); make.left.mas_equalTo(kSizeFrom750(144)); }]; [self.pushContent mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.pushTitle); make.right.mas_equalTo(-kSizeFrom750(30)); make.top.mas_equalTo(self.pushTitle.mas_bottom).offset(kSizeFrom750(10)); }]; [self.pushTimeLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(-kSizeFrom750(20)); make.centerY.mas_equalTo(self.pushTitle); make.height.mas_equalTo(kSizeFrom750(30)); }]; [self.deleteBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(-kSizeFrom750(20)); make.bottom.mas_equalTo(-kSizeFrom750(20)); make.width.height.mas_equalTo(kSizeFrom750(40)); }]; [self.bgBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(0); make.bottom.mas_equalTo(0); make.width.height.mas_equalTo(kSizeFrom750(100)); }]; } -(void)deleteBtnClick:(UIButton *)sender{ sender.selected = !sender.selected; self.deleteBtn.selected = !self.deleteBtn.selected; if (self.deleteBlock) { self.deleteBlock(self.messageId, sender.selected); } } -(void)loadInfoWithModel:(PushmessageModel *)model isShowDelete:(BOOL)isShowDelte isDeleteAll:(BOOL)isDeleteAll{ self.messageId = model.pushId; self.pushTitle.text = model.pushTitle; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:model.pushContext]; NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; [paragraphStyle setLineSpacing:kSizeFrom750(8)]; [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [model.pushContext length])]; self.pushContent.attributedText = attributedString; self.pushTimeLabel.text = [self showTimeText:model.createTime]; if (isDeleteAll) { self.deleteBtn.hidden = NO; self.bgBtn.hidden = NO; self.deleteBtn.selected = YES; self.bgBtn.selected = YES; }else { self.bgBtn.selected = NO; self.deleteBtn.selected = NO; self.deleteBtn.hidden = !isShowDelte; self.bgBtn.hidden = !isShowDelte; } //图片 if ([model.pushType isEqualToString:@"wendu_warn"]) { self.pushTypeImg.image = [UIImage imageNamed:@"ic_jpush_wendu"]; }else if ([model.pushType isEqualToString:@"remove_device"]){ self.pushTypeImg.image = [UIImage imageNamed:@"ic_jpush_msg"]; }else if ([model.pushType isEqualToString:@"qu_reply"]){ self.pushTypeImg.image = [UIImage imageNamed:@"ic_imchat_msg"]; }else if ([model.pushType isEqualToString:@"remind_water"]){ self.pushTypeImg.image = [UIImage imageNamed:@"ic_jpush_changewater"]; }else if ([model.pushType isEqualToString:@"offline_push"]){ self.pushTypeImg.image = [UIImage imageNamed:@"ic_jpush_offline"]; }else if ([model.pushType isEqualToString:@"all_push"]){ self.pushTypeImg.image = [UIImage imageNamed:@"ic_jpush_all_push"]; }else if ([model.pushType isEqualToString:@"review_push"]){ self.pushTypeImg.image = [UIImage imageNamed:@"ic_imchat_msg"]; }else if ([model.pushType isEqualToString:@"send_report"]){ self.pushTypeImg.image = [UIImage imageNamed:@"ic_jpush_all_push"]; } } -(NSString *)showTimeText:(NSString *)dateTime { if (dateTime==nil||dateTime.length<15) { return @""; } NSString *timeText = @""; NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *currentDate = [NSDate date]; NSDateComponents *components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:currentDate]; NSDate *zeroDate = [calendar dateFromComponents:components];//今天0点 NSDateFormatter *formate = [[NSDateFormatter alloc]init]; //格式必须和服务端返回的格式一样,才能转化为date [formate setDateFormat:@"yyyy-MM-dd HH:mm"]; NSDate *compareDate = [formate dateFromString:dateTime]; NSTimeInterval delta = [zeroDate timeIntervalSinceDate:compareDate];//时间和今天0点比较 if (delta>0) {//今天以前的通知 if (delta12) { timeText = [@"下午 " stringByAppendingString:[dateTime substringWithRange:NSMakeRange(11, 5)]]; }else{ timeText = [@"上午 " stringByAppendingString:[dateTime substringWithRange:NSMakeRange(11, 5)]]; } } return timeText; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end