// // RAEditDateCell.m // Apex And Drivers // // Created by Jack on 2018/10/25. // Copyright © 2018年 USAI. All rights reserved. // #import "RAEditDateCell.h" #import "RAEditDateModel.h" @interface RAEditDateCell () @property (nonatomic,strong) IBOutlet UILabel *titleLabel; @property (nonatomic,strong) IBOutlet UILabel *dateLabel; @property (nonatomic,strong) IBOutlet UILabel *startLabel; @property (nonatomic,strong) IBOutlet UIButton *datePickerBtn; @end @implementation RAEditDateCell - (void)awakeFromNib { [super awakeFromNib]; // Initialization code UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapClick:)]; [self.contentView addGestureRecognizer:tap]; self.model = nil; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } - (void)prepareForReuse { [super prepareForReuse]; self.model = nil; self.delegate = nil; } - (void)setModel:(RAEditDateModel *)model { if (_model) { _model.delegate = nil; } _model = model; if (_model) { _model.delegate = self; } [self refresh]; } - (void)refresh { self.titleLabel.text = self.model.title; self.startLabel.hidden = !self.model.required; self.dateLabel.text = self.model.display; self.datePickerBtn.hidden = !self.model.editable; } - (void)unbind { _model = nil; [self refresh]; } #pragma mark - Action - (void)_clickDate { if (!self.model.editable) { return; } if (self.delegate && [self.delegate respondsToSelector:@selector(dateCell:didClickForModel:)]) { [self.delegate dateCell:self didClickForModel:self.model]; } } - (void)tapClick:(UITapGestureRecognizer *)tap { [self _clickDate]; } - (IBAction)datePickerBtnClick:(UIButton *)sender { [self _clickDate]; } @end