|
//
// 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
|