热更新demo

orderCenterCell.m 8.1KB

    // // orderCenterCell.m // ThePaperHD // // Created by scar1900 on 15/4/14. // Copyright (c) 2015年 scar1900. All rights reserved. // #import "orderCenterCell.h" #import "AsyncImageView.h" @interface orderCenterCell() @property(nonatomic, strong)AsyncImageView *nodeImageView; @property(nonatomic, strong)UILabel *titleLabel; @property(nonatomic, strong)UILabel *descLabel; @property(nonatomic, strong)UIButton *orderBtn; @property(nonatomic, strong)UIView *lineView; @end @implementation orderCenterCell @synthesize nodeBO = _nodeBO; @synthesize isOrdered = _isOrdered; @synthesize delegate; - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { self.contentView.backgroundColor = [UIColor colorWithHexString:BackGroundColor]; [self.contentView addSubview:self.nodeImageView]; [self.contentView addSubview:self.titleLabel]; [self.contentView addSubview:self.descLabel]; [self.contentView addSubview:self.orderBtn]; [self.contentView addSubview:self.lineView]; UIView *selectView = [[UIView alloc]initWithFrame:CGRectMake(10, 0, CGRectGetWidth(self.bounds)-20, CGRectGetHeight(self.bounds))]; selectView.backgroundColor = [UIColor colorWithHexString:CELLBACKCOLOR]; self.selectedBackgroundView = selectView; /** * bug:5319(订阅管理页,点击效果错误) */ [self setAutolayoutSubviews]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(needrefreshNightMode:) name:REFRESHAFTERNIGHTMODE object:nil]; } return self; } - (AsyncImageView*)nodeImageView { if (!_nodeImageView) { _nodeImageView = [[AsyncImageView alloc]initWithFrame:CGRectMake(15, CGRectGetHeight(self.bounds)/2-118/4, 118/2, 118/2)]; _nodeImageView.isHaveWaterPrint = NO; _nodeImageView.backColor = [UIColor colorWithHexString:BLUECOLOR]; } return _nodeImageView; } - (UIView*)lineView { if (!_lineView) { _lineView = [UIView new]; _lineView.backgroundColor = [UIColor colorWithHexString:LINECOLOR]; } return _lineView; } - (UILabel*)titleLabel { if (!_titleLabel) { _titleLabel = [[UILabel alloc]initWithFrame:CGRectZero]; _titleLabel.font = appFont(TEXT_THREE_LEVELSIZE, NO); _titleLabel.textColor = [UIColor colorWithHexString:TextBlack]; _titleLabel.textAlignment = NSTextAlignmentLeft; _titleLabel.backgroundColor = [UIColor clearColor]; } return _titleLabel; } - (UILabel*)descLabel { if (!_descLabel) { _descLabel = [[UILabel alloc]initWithFrame:CGRectZero]; _descLabel.font = appFont(TEXT_FIVE_LEVELSIZE, NO); _descLabel.textColor = [UIColor colorWithHexString:TextGray]; _descLabel.textAlignment = NSTextAlignmentLeft; _descLabel.backgroundColor = [UIColor clearColor]; } return _descLabel; } - (UIButton*)orderBtn { if (!_orderBtn) { _orderBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [_orderBtn setImage:Image(@"order/orderIcon.png") forState:UIControlStateNormal]; [_orderBtn addTarget:self action:@selector(orderHander:) forControlEvents:UIControlEventTouchUpInside]; } return _orderBtn; } - (void)setNodeBO:(nodeObjectBO *)nodeInfo { _nodeBO = nodeInfo; self.nodeImageView.imageUrl = nodeInfo.pic; self.nodeImageView.imageId = getImageNameFromURL(nodeInfo.pic); self.titleLabel.text = nodeInfo.name; self.descLabel.text = nodeInfo.desc; } - (void)setIsOrdered:(BOOL)order { _isOrdered = order; self.orderBtn.selected = order; if (order) { [_orderBtn setImage:Image(@"order/orderIcon_s.png") forState:UIControlStateNormal]; }else { [_orderBtn setImage:Image(@"order/orderIcon.png") forState:UIControlStateNormal]; } } - (void)orderHander:(UIButton*)btn { NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithDictionary:@{@"n":self.nodeBO.nodeId,@"oType":@"1"}]; if (btn.selected) { [dic setValue:@"2" forKey:@"oType"]; } [Remote doJsonActionWithBlock:1 requestUrl:orderNodeURL parameter:dic withWaitCursor:YES completion:^(BOOL success, NSString *message, id responseData) { if (success) { if (!btn.selected) { btn.selected = YES; // ShowMessage(@"订阅成功", YES); [[NSNotificationCenter defaultCenter] postNotificationName:NEEDREFRESHORDER object:nil]; [_orderBtn setImage:Image(@"order/orderIcon_s.png") forState:UIControlStateNormal]; if ([self.delegate respondsToSelector:@selector(orderNode:nodeInfoBO:)]) { [self.delegate orderNode:YES nodeInfoBO:self.nodeBO]; } }else { btn.selected = NO; // ShowMessage(@"取消订阅", YES); [[NSNotificationCenter defaultCenter] postNotificationName:NEEDREFRESHORDER object:nil]; NSMutableArray *array = [TPUserDefault instance].orderEventTempList; if ([array containsObject:self.nodeBO.nodeId]) { [array removeObject:self.nodeBO.nodeId]; [TPUserDefault instance].orderEventTempList = array; } [_orderBtn setImage:Image(@"order/orderIcon.png") forState:UIControlStateNormal]; if ([self.delegate respondsToSelector:@selector(orderNode:nodeInfoBO:)]) { [self.delegate orderNode:NO nodeInfoBO:self.nodeBO]; } } }else { ShowTextMessage(message); } }]; } - (void)setAutolayoutSubviews { [self.nodeImageView makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.contentView.left).offset(10); make.centerY.equalTo(self.contentView.centerY); make.size.equalTo(CGSizeMake(35, 35)); }]; [self.orderBtn makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(self.contentView.right); make.top.equalTo(self.contentView.top); make.bottom.equalTo(self.contentView.bottom); make.width.equalTo(@50); }]; [self.orderBtn setImageEdgeInsets:UIEdgeInsetsMake(CGRectGetHeight(self.bounds)/2-10, 15, CGRectGetHeight(self.bounds)/2-10, 15)]; [self.titleLabel makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.nodeImageView.right).offset(12); make.right.equalTo(self.orderBtn.left); make.top.equalTo(self.nodeImageView.top); make.height.equalTo(@17); }]; [self.descLabel makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.nodeImageView.right).offset(12); make.right.equalTo(self.orderBtn.left); make.top.equalTo(self.titleLabel.bottom); make.height.equalTo(@17); }]; [self.lineView makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.nodeImageView.left); make.right.equalTo(self.contentView.right); make.bottom.equalTo(self.contentView.bottom); make.height.equalTo(@1); }]; } - (void)awakeFromNib { // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } - (void)needrefreshNightMode:(id)sender{ self.contentView.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; self.descLabel.textColor = [UIColor colorWithHexString:TextGray]; self.lineView.backgroundColor = [UIColor colorWithHexString:LINECOLOR]; self.titleLabel.textColor = [UIColor colorWithHexString:TextBlack]; self.lineView.backgroundColor = [UIColor colorWithHexString:LINECOLOR]; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; } @end