RAEditMultInputCell.m 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. //
  2. // RAEditMultInputCell.m
  3. // Apex And Drivers
  4. //
  5. // Created by Jack on 2018/6/4.
  6. // Copyright © 2018年 USAI. All rights reserved.
  7. //
  8. #import "RAEditMultInputCell.h"
  9. #import "RAEditMultInputModel.h"
  10. @interface RAEditMultInputCell () <UITextViewDelegate,RAEditModelDelegate>
  11. @property (strong, nonatomic) IBOutlet UILabel *titleLabel;
  12. @property (strong, nonatomic) IBOutlet UITextView *inputView;
  13. @end
  14. @implementation RAEditMultInputCell
  15. - (void)awakeFromNib {
  16. [super awakeFromNib];
  17. // Initialization code
  18. self.model = nil;
  19. self.inputView.layer.borderWidth = 0.5f;
  20. self.inputView.layer.borderColor = [UIColor lightGrayColor].CGColor;
  21. }
  22. - (void)prepareForReuse {
  23. [super prepareForReuse];
  24. self.model = nil;
  25. self.delegate = nil;
  26. }
  27. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  28. [super setSelected:selected animated:animated];
  29. // Configure the view for the selected state
  30. }
  31. - (void)setModel:(RAEditMultInputModel *)model {
  32. if (_model) {
  33. _model.delegate = nil;
  34. }
  35. _model = model;
  36. _model.delegate = self;
  37. [self refresh];
  38. }
  39. #pragma mark - Model Delegate
  40. - (void)refresh {
  41. self.titleLabel.text = _model.title;
  42. self.inputView.text = _model.value;
  43. }
  44. #pragma mark - TextView Delegate
  45. - (BOOL)textViewShouldBeginEditing:(UITextView *)textView {
  46. if (self.delegate && [self.delegate respondsToSelector:@selector(beginEditMultInputCell:)]) {
  47. [self.delegate beginEditMultInputCell:self];
  48. }
  49. return YES;
  50. }
  51. - (BOOL)textViewShouldEndEditing:(UITextView *)textView {
  52. if (self.delegate && [self.delegate respondsToSelector:@selector(endEditMultInputCell:)]) {
  53. [self.delegate endEditMultInputCell:self];
  54. }
  55. return YES;
  56. }
  57. - (void)textViewDidChange:(UITextView *)textView {
  58. [self.model updateValue:textView.text];
  59. }
  60. @end