热更新demo

AnswerPicBaseCell.m 6.8KB

    // // AnswerPicBaseCell.m // ThePaperBase // // Created by zhousan on 15/11/5. // Copyright © 2015年 scar1900. All rights reserved. // #import "AnswerPicBaseCell.h" #define CONTENTWIDTH rect_screen.size.width - 20 @implementation AnswerPicBaseCell - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { self.selectionStyle = UITableViewCellSelectionStyleNone; self.backgroundColor = [UIColor colorWithHexString:CELLBACKCOLOR]; [self addSubview:self.backView]; [self.backView addSubview:self.quoPic1]; [self.backView addSubview:self.quoPic2]; [self.backView addSubview:self.quoPic3]; UITapGestureRecognizer *picTap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(picTap:)]; UITapGestureRecognizer *picTap2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(picTap:)]; UITapGestureRecognizer *picTap3 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(picTap:)]; [self.quoPic1 addGestureRecognizer:picTap1]; [self.quoPic2 addGestureRecognizer:picTap2]; [self.quoPic3 addGestureRecognizer:picTap3]; self.lineView = [[UIView alloc] initWithFrame:CGRectZero]; self.lineView.backgroundColor = [UIColor colorWithHexString:LINECOLOR]; [self.backView addSubview:self.lineView]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(needrefreshNightMode:) name:REFRESHAFTERNIGHTMODE object:nil]; [self subLayoutSubViews]; } return self; } - (void)needrefreshNightMode:(id)sender{ self.backgroundColor = [UIColor colorWithHexString:CELLBACKCOLOR]; _lineView.backgroundColor = [UIColor colorWithHexString:LINECOLOR]; _backView.backgroundColor = [UIColor colorWithHexString:BackGroundColor]; } - (void)dealloc { self.backView = nil; [[NSNotificationCenter defaultCenter] removeObserver:self]; } - (void)setCommentBO:(commentObjectVO *)data { _commentBO = data; if (data.quoteInfo.allKeys.count > 0 && data.quoteInfo.allKeys) { self.lineView.hidden = YES; }else self.lineView.hidden = NO; switch (data.imageList.count) { case 1: self.quoPic1.hidden = NO; self.quoPic2.hidden = YES; self.quoPic3.hidden = YES; break; case 2: self.quoPic1.hidden = NO; self.quoPic2.hidden = NO; self.quoPic3.hidden = YES; break; case 3: self.quoPic1.hidden = NO; self.quoPic2.hidden = NO; self.quoPic3.hidden = NO; break; default: break; } [data.imageList enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { imageObjectBO *image = obj; switch (idx) { case 0: self.imageSize = CGSizeMake([image.width floatValue]/2*rect_screen.size.width/320, ([image.height floatValue]/2)*rect_screen.size.width/320); self.quoPic1.imageUrl = image.url; self.quoPic1.imageId = getImageNameFromURL(image.url); break; case 1: self.quoPic2.imageUrl = image.url; self.quoPic2.imageId = getImageNameFromURL(image.url); break; case 2: self.quoPic3.imageUrl = image.url; self.quoPic3.imageId = getImageNameFromURL(image.url); break; default: break; } }]; [self reLayoutSubViews]; } - (AsyncImageView *)quoPic1 { if (_quoPic1 == nil) { _quoPic1 = [[AsyncImageView alloc] initWithFrame:CGRectZero]; _quoPic1.tag = 1; } return _quoPic1; } - (AsyncImageView *)quoPic2 { if (_quoPic2 == nil) { _quoPic2 = [[AsyncImageView alloc] initWithFrame:CGRectZero]; _quoPic2.tag = 2; } return _quoPic2; } - (AsyncImageView *)quoPic3 { if (_quoPic3 == nil) { _quoPic3 = [[AsyncImageView alloc] initWithFrame:CGRectZero]; _quoPic3.tag = 3; } return _quoPic3; } - (UIView *)backView { if (!_backView) { _backView = [[UIView alloc]initWithFrame:CGRectZero]; _backView.backgroundColor = [UIColor colorWithHexString:BackGroundColor]; } return _backView; } - (void)subLayoutSubViews { [self.backView makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self); }]; [self.lineView makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self).offset(10); make.right.equalTo(self).offset(-10); make.bottom.equalTo(self.backView.bottom); make.height.mas_equalTo(1); }]; } - (void)reLayoutSubViews { if (self.commentBO.imageList.count == 1) { imageObjectBO *imageB = self.commentBO.imageList[0]; CGSize imageSize = CGSizeMake([imageB.width floatValue], [imageB.height floatValue]); CGSize size = CGSizeZero; if (imageSize.width > CONTENTWIDTH) { size = CGSizeMake(CONTENTWIDTH, (imageSize.height*CONTENTWIDTH)/imageSize.width); }else { size = CGSizeMake([imageB.width floatValue], [imageB.height floatValue]); } [self.quoPic1 remakeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.backView); make.centerX.equalTo(self.backView); make.size.mas_equalTo(size); }]; }else { [self.quoPic1 remakeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.backView.left).offset(10); make.top.equalTo(self.backView); make.size.mas_equalTo(CGSizeMake(answer_pic_width,answer_pic_width)); }]; [self.quoPic2 remakeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.quoPic1.right).offset(10); make.top.equalTo(self.backView); make.size.mas_equalTo(CGSizeMake(answer_pic_width,answer_pic_width)); }]; [self.quoPic3 remakeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.quoPic2.right).offset(10); make.top.equalTo(self.backView); make.size.mas_equalTo(CGSizeMake(answer_pic_width,answer_pic_width)); }]; } } - (void)picTap:(UITapGestureRecognizer *)tap { NSUInteger tag = tap.view.tag; if ([self.delegate respondsToSelector:@selector(clickImageWithIndex:ImageArray:)]) { [self.delegate clickImageWithIndex:tag ImageArray:self.commentBO.imageList]; } } - (void)awakeFromNib { // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end