|
//
// 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;
@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];
}
return self;
}
- (AsyncImageView*)nodeImageView {
if (!_nodeImageView) {
_nodeImageView = [[AsyncImageView alloc]initWithFrame:CGRectMake(15, CGRectGetHeight(self.bounds)/2-118/4, 118/2, 118/2)];
_nodeImageView.imageView.backgroundColor = [UIColor clearColor];
_nodeImageView.backgroundColor = [UIColor clearColor];
if (ISNotRETINA) {
_nodeImageView.isNeedCorner = YES;
}
}
return _nodeImageView;
}
- (UILabel*)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc]initWithFrame:CGRectZero];
_titleLabel.font = appFont(18, 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(16, 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.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);
[_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);
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)layoutSubviews {
[super layoutSubviews];
self.nodeImageView.frame = CGRectMake(15, CGRectGetHeight(self.bounds)/2-118/4, 118/2, 118/2);
self.titleLabel.frame = CGRectMake(CGRectGetMaxX(self.nodeImageView.frame)+15,
20,
CGRectGetWidth(self.bounds)-30-118/2-50,
25);
self.descLabel.frame = CGRectMake(CGRectGetMaxX(self.nodeImageView.frame)+15,
CGRectGetMaxY(self.titleLabel.frame),
CGRectGetWidth(self.bounds)-30-118/2-50,
25);
self.orderBtn.frame = CGRectMake(CGRectGetWidth(self.bounds)-50, 0, 50, CGRectGetHeight(self.bounds));
[self.orderBtn setImageEdgeInsets:UIEdgeInsetsMake(CGRectGetHeight(self.bounds)/2-10, 15, CGRectGetHeight(self.bounds)/2-10, 15)];
}
- (void)awakeFromNib {
// Initialization code
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
|