// // RAOrderCell.m // Apex And Drivers // // Created by Jack on 2018/6/1. // Copyright © 2018年 USAI. All rights reserved. // #import "RAOrderCell.h" #import "RAHomeOrderModel.h" @interface RAOrderCell () @property (strong, nonatomic) IBOutlet UIView *contentContainer; @property (strong, nonatomic) IBOutlet UILabel *titleLabel; @property (strong, nonatomic) IBOutlet UILabel *orderNoLabel; @property (strong, nonatomic) IBOutlet UILabel *containerNoLabel; @property (strong, nonatomic) IBOutlet UILabel *dateLabel; @property (strong, nonatomic) IBOutlet UIImageView *markView; @property (strong, nonatomic) IBOutlet UIImageView *statusView; @property (strong, nonatomic) IBOutlet UILabel *orderType2Label; @property (nonatomic,strong) UIView *selectionView; @end @implementation RAOrderCell - (void)awakeFromNib { [super awakeFromNib]; // Initialization code [self setOrderModel:nil]; self.contentContainer.layer.cornerRadius = 5.0f; self.contentContainer.layer.masksToBounds = YES; self.contentContainer.layer.shadowColor = [UIColor lightGrayColor].CGColor; self.contentContainer.layer.borderColor = [UIColor lightGrayColor].CGColor; self.contentContainer.layer.borderWidth = 0.5f; self.selectedBackgroundView = self.selectionView; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } - (void)layoutSubviews { [super layoutSubviews]; self.selectionView.frame = self.contentContainer.frame; } - (void)prepareForReuse { [super prepareForReuse]; [self setOrderModel:nil]; } - (UIView *)selectionView { if (!_selectionView) { _selectionView = [UIView new]; unsigned long color = strtoul([@"0xaad3df" UTF8String],0,16); _selectionView.backgroundColor = UIColorFromRGB(color); _selectionView.layer.cornerRadius = 5.0f; _selectionView.layer.masksToBounds = YES; _selectionView.layer.shadowColor = UIColorFromRGB(color).CGColor; _selectionView.layer.borderColor = UIColorFromRGB(color).CGColor; _selectionView.layer.borderWidth = 0.5f; } return _selectionView; } #pragma mark - Set - (void)setOrderModel:(RAHomeOrderModel *)orderModel { _orderModel.delegate = nil; _orderModel = orderModel; _orderModel.delegate = self; [self refreshUI]; } - (instancetype)setTitle:(NSString *)title { self.titleLabel.text = title; return self; } - (instancetype)setOrderNo:(NSString *)orderNo { self.orderNoLabel.text = orderNo; return self; } - (instancetype)setContainerNo:(NSString *)containerNo { self.containerNoLabel.text = containerNo; return self; } - (instancetype)setDate:(NSString *)date { self.dateLabel.text = date; return self; } - (instancetype)setOrderType2:(NSString *)orderType2 { self.orderType2Label.text = orderType2; return self; } - (instancetype)setBackendFlag:(BOOL)flag { self.markView.hidden = !flag; return self; } - (instancetype)setStatusIcon:(UIImage *)icon { self.statusView.image = icon; return self; } #pragma mark - Model Delegate - (void)refreshUI { NSString *title = _orderModel.title; NSString *orderNo = _orderModel.orderNo; NSString *containerNo = _orderModel.containerNo; NSString *date = _orderModel.date; NSString *orderType2 = _orderModel.order_type2; BOOL flag = _orderModel.backendFlag; UIImage *icon = _orderModel.icon; [[[[[[[self setTitle:title] setOrderNo:orderNo] setContainerNo:containerNo] setDate:date] setBackendFlag:flag] setOrderType2:orderType2] setStatusIcon:icon]; } @end