RAEditSignatureCell.m 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. //
  2. // RAEditSignatureCell.m
  3. // Apex And Drivers
  4. //
  5. // Created by Jack on 2018/9/4.
  6. // Copyright © 2018年 USAI. All rights reserved.
  7. //
  8. #import "RAEditSignatureCell.h"
  9. #import "RAEditSignatureModel.h"
  10. @interface RAEditSignatureCell () <RAEditModelDelegate>
  11. @property (nonatomic,strong) IBOutlet UILabel *titleLabel;
  12. @property (nonatomic,strong) IBOutlet UILabel *startLabel;
  13. @property (nonatomic,strong) IBOutlet UIImageView *signatureView;
  14. @end
  15. @implementation RAEditSignatureCell
  16. - (void)awakeFromNib {
  17. [super awakeFromNib];
  18. // Initialization code
  19. UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapSignature:)];
  20. [self.signatureView addGestureRecognizer:tap];
  21. }
  22. - (void)prepareForReuse {
  23. [super prepareForReuse];
  24. self.model = nil;
  25. }
  26. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  27. [super setSelected:selected animated:animated];
  28. // Configure the view for the selected state
  29. }
  30. - (void)setModel:(RAEditSignatureModel *)model {
  31. if (_model) {
  32. _model.delegate = nil;
  33. }
  34. _model = model;
  35. if (_model) {
  36. _model.delegate = self;
  37. }
  38. [self refresh];
  39. }
  40. - (void)tapSignature:(UITapGestureRecognizer *)tap {
  41. if (self.delegate && [self.delegate respondsToSelector:@selector(signatureCell:tapSignature:)]) {
  42. [self.delegate signatureCell:self tapSignature:_model];
  43. }
  44. }
  45. - (void)refresh {
  46. self.titleLabel.text = _model.title;
  47. self.signatureView.image = _model.signature;
  48. self.startLabel.hidden = !_model.required;
  49. }
  50. - (void)unbind {
  51. _model = nil;
  52. [self refresh];
  53. }
  54. @end