热更新demo

sepicalLiveCell.m 4.3KB

    // // sepicalLiveCell.m // ThePaperDemo // // Created by zhousan on 15/7/16. // Copyright (c) 2015年 scar1900. All rights reserved. // #import "sepicalLiveCell.h" #import "AsyncImageView.h" #define LABEL_LIMIL_WIDTH rect_screen.size.width - 90 #define IMAGEVIEW_WIDTH 60 @interface sepicalLiveCell () { CGFloat descHeight; } @property (nonatomic,strong) AsyncImageView *liveIcon; @property (nonatomic,strong) RTLabel *descLabel; @end @implementation sepicalLiveCell - (void)awakeFromNib { } - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (nil != self) { [self addSubview:self.liveIcon]; [self addSubview:self.descLabel]; self.backgroundColor = [UIColor colorWithHexString:BackGroundColor]; UIView *selectView = [[UIView alloc]initWithFrame:CGRectMake(10, 0, CGRectGetWidth(self.bounds)-20, CGRectGetHeight(self.bounds))]; selectView.backgroundColor = [UIColor colorWithHexString:CELLBACKCOLOR]; self.selectedBackgroundView = selectView; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(needrefreshNightMode:) name:REFRESHAFTERNIGHTMODE object:nil]; } return self; } - (void)needrefreshNightMode:(id)sender{ self.backgroundColor = [UIColor colorWithHexString:BackGroundColor]; UIView *selectView = [[UIView alloc]initWithFrame:CGRectMake(10, 0, CGRectGetWidth(self.bounds)-20, CGRectGetHeight(self.bounds))]; selectView.backgroundColor = [UIColor colorWithHexString:CELLBACKCOLOR]; self.selectedBackgroundView = selectView; _descLabel.textColor = [UIColor colorWithHexString:TextBlack]; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; } - (AsyncImageView *)liveIcon { if (_liveIcon == nil) { _liveIcon = [[AsyncImageView alloc] initWithFrame:CGRectZero]; } return _liveIcon; } - (void)setDic:(NSDictionary *)dic { _dic = dic; if (dic != nil) { self.descLabel.text = dic[@"name"]?dic[@"name"]:@""; descHeight = self.descLabel.optimumSize.height; self.liveIcon.imageUrl = dic[@"pic"]?dic[@"pic"]:@""; self.liveIcon.imageId = getImageNameFromURL(dic[@"pic"]?dic[@"pic"]:@""); [self layoutSubViews]; } } - (RTLabel *)descLabel { if (_descLabel == nil) { _descLabel = [[RTLabel alloc]initWithFrame:CGRectMake(0, 0, LABEL_LIMIL_WIDTH, 0)]; _descLabel.textAlignment = NSTextAlignmentLeft; _descLabel.font = appFont(TEXT_FOUR_LEVELSIZE, NO); _descLabel.lineBreakMode = NSLineBreakByWordWrapping; _descLabel.lineSpacing = 8; _descLabel.textColor = [UIColor colorWithHexString:TextBlack]; _descLabel.backgroundColor = [UIColor clearColor]; } return _descLabel; } - (void)layoutSubViews { int readmode = [[TPUserDefault instance].readModeStr intValue]; if (readmode == intelligentMode) { if ([Remote IsEnableWIFI]) { readmode = imageMode; }else { readmode = textMode; } } if (readmode == imageMode) { [self.liveIcon remakeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.left).offset(10); make.top.equalTo(self.top).offset(10); make.height.mas_equalTo(IMAGEVIEW_WIDTH); make.width.mas_equalTo(IMAGEVIEW_WIDTH); }]; }else { [self.liveIcon remakeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.left); make.top.equalTo(self.top).offset(10); make.height.mas_equalTo(0); make.width.mas_equalTo(0); }]; descHeight = returnTextHeightWithRTLabel(self.descLabel.text, rect_screen.size.width-20, self.descLabel.font, 8); } [self.descLabel remakeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.liveIcon.right).offset(10); make.top.equalTo(self.contentView.top).offset(9); make.height.mas_equalTo(descHeight); make.right.equalTo(self.contentView.right).offset(-10); }]; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end