// // strongRelateCountsView.m // ThePaperDemo // // Created by scar1900 on 14-9-22. // Copyright (c) 2014年 scar1900. All rights reserved. // #import "strongRelateCountsCell.h" #import "AsyncImageView.h" #import "RegexKitLite.h" #import "Reachability.h" @interface strongRelateCountsCell() { CGFloat contentPadding; CGFloat TEMP_K; } @property(nonatomic, strong)AsyncImageView *relateImageView; @property(nonatomic, strong)UILabel *destLabel; @end @implementation strongRelateCountsCell @synthesize listdataBO = _listdataBO; - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { if (IS_IPHONE_6P) { contentPadding = 15; }else if (IS_IPHONE_6) { contentPadding = 15; }else { contentPadding = 10; } TEMP_K = (rect_screen.size.width-2*contentPadding)/300; self.backgroundColor = [UIColor clearColor]; self.selectionStyle = UITableViewCellSelectionStyleNone; [self addSubview:self.relateImageView]; [self addSubview:self.destLabel]; [self addSubview:self.noImageButton]; [self.noImageButton makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self); make.top.equalTo(self); make.size.equalTo(CGSizeMake(150, 120)); }]; UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 80, 50)]; imageView.image = Image(@"detailPage/noImagePic.png") ; [self.noImageButton addSubview:imageView]; imageView.center = CGPointMake(75, 60); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(needrefreshNightMode:) name:REFRESHAFTERNIGHTMODE object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; } return self; } - (void)reachabilityChanged:(NSNotification *)note { if ([self.listdataBO.isTap isEqualToString:@"1"] && [Remote IsEableNetwork]) { self.relateImageView.imageUrl = self.listdataBO.pic; self.relateImageView.imageId = @""; self.relateImageView.imageId = getImageNameFromURL(self.listdataBO.pic); } } - (void)needrefreshNightMode:(id)sender{ _destLabel.textColor = [UIColor colorWithHexString:strongDescColor]; } - (UIButton *)noImageButton { if (nil == _noImageButton) { _noImageButton = [UIButton buttonWithType:UIButtonTypeCustom]; _noImageButton.backgroundColor = [[TPUserDefault instance].isNightMode integerValue] > 0 ? [UIColor colorWithHexString:@"0x3d3d3e"] : [UIColor colorWithHexString:@"0xedf1f4"]; [_noImageButton addTarget:self action:@selector(setImageButtonClick:) forControlEvents:UIControlEventTouchUpInside]; _noImageButton.hidden = YES; } return _noImageButton; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; } - (AsyncImageView*)relateImageView { if (!_relateImageView) { _relateImageView = [[AsyncImageView alloc]initWithFrame:CGRectZero]; _relateImageView.backgroundColor = [UIColor clearColor]; } return _relateImageView; } - (UILabel*)destLabel { if (!_destLabel) { _destLabel = [[UILabel alloc]initWithFrame:CGRectZero]; _destLabel.backgroundColor = [UIColor clearColor]; _destLabel.textAlignment = NSTextAlignmentLeft; _destLabel.textColor = [UIColor colorWithHexString:strongDescColor]; _destLabel.lineBreakMode = NSLineBreakByWordWrapping; _destLabel.numberOfLines = 0; /** * bug:5181(【适配性】新闻详情页,4s 5c强关系下方的文字和会滚动条重叠) */ } _destLabel.font = appFont(TEXT_FOUR_LEVELSIZE, NO); return _destLabel; } - (void)setListdataBO:(listContObjectVO *)dataBO { _listdataBO = dataBO; NSString *url = dataBO.pic; NSString *name = dataBO.name; if (name && ![name isEqualToString:@""]) { NSAttributedString *attriString = getLineSpaceAttributedString(name, [iphoneLineSpaceAndParaSpace returnLevel3LineSpace_specialTopic], appFont(TEXT_FOUR_LEVELSIZE, NO)); self.destLabel.attributedText = attriString; } // CGFloat height = returnTextHeightWithRTLabel(name, rect_screen.size.width-20, appFont(TEXT_FOUR_LEVELSIZE, NO), 5); CGFloat height = [self.destLabel sizeThatFits:CGSizeMake(rect_screen.size.width-2*contentPadding, CGFLOAT_MAX)].height; if (url && ![url isEqualToString:@""]) { if ([url isMatchedByRegex:@"/[0-9]+\\.jpg"]) { // if ([dataBO.watermark intValue] == 1) {//视频 // self.relateImageView.frame = CGRectMake(10, 0, rect_screen.size.width-20, 338/2*TEMP_K); // }else { // self.relateImageView.frame = CGRectMake(10, 0, rect_screen.size.width-20, 125*TEMP_K); // } self.relateImageView.frame = CGRectMake(contentPadding, 0, rect_screen.size.width-2*contentPadding, 125*TEMP_K); self.relateImageView.imageUrl = url; self.relateImageView.imageId = getImageNameFromURL(url); // } } } int readmode = [[TPUserDefault instance].readModeStr intValue]; if (readmode == intelligentMode) { if ([Remote IsEnableWIFI]) { readmode = imageMode; }else { readmode = textMode; } } if (readmode == imageMode) { self.relateImageView.imageUrl = url; self.relateImageView.imageId = getImageNameFromURL(url); self.relateImageView.hidden = NO; self.noImageButton.hidden = YES; self.destLabel.frame = CGRectMake(contentPadding,CGRectGetMaxY(self.relateImageView.bounds)+5, rect_screen.size.width-2*contentPadding, height); }else{ if ([dataBO.isTap isEqualToString:@"1"]) { self.relateImageView.imageUrl = url; self.relateImageView.imageId = getImageNameFromURL(url); self.relateImageView.hidden = NO; self.noImageButton.hidden = YES; self.destLabel.frame = CGRectMake(contentPadding,CGRectGetMaxY(self.relateImageView.bounds)+5, rect_screen.size.width-2*contentPadding, height); }else { self.relateImageView.hidden = YES; self.noImageButton.hidden = NO; self.destLabel.frame = CGRectMake(contentPadding,120+5, rect_screen.size.width-2*contentPadding, height); } } } - (void)setImageButtonClick:(id)sender { if ([self.delegate respondsToSelector:@selector(clickLoadImageWithListCont:Cell:)]) { [self.delegate clickLoadImageWithListCont:self.listdataBO Cell:self]; } } - (void)layoutSubviews { [super layoutSubviews]; } @end