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