PhotoPreviewCell.m 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. //
  2. // PhotoPreviewCell.m
  3. // RA Image
  4. //
  5. // Created by Jack on 2017/6/14.
  6. // Copyright © 2017年 USAI. All rights reserved.
  7. //
  8. #import "PhotoPreviewCell.h"
  9. @implementation PhotoPreviewCell
  10. - (void)setModel:(id<RAPhotoItemDelegate>)model {
  11. if (_model) {
  12. _model.delegate = nil;
  13. }
  14. _model = model;
  15. [_model.delegate unbind];
  16. _model.delegate = self;
  17. [self refreshUI];
  18. }
  19. - (void)setPhoto:(UIImage *)image {
  20. if (self.photoView) {
  21. self.photoView.image = image;
  22. }
  23. }
  24. - (void)reset {
  25. UIScrollView *sc = self.scrollView;
  26. sc.zoomScale = 1;
  27. sc.contentSize = CGSizeZero;
  28. sc.contentOffset = CGPointZero;
  29. }
  30. - (void)prepareForReuse {
  31. [super prepareForReuse];
  32. [self reset];
  33. self.model = nil;
  34. }
  35. - (void)layoutSubviews {
  36. [super layoutSubviews];
  37. }
  38. #pragma mark - UIDelegate
  39. - (void)refreshUI {
  40. dispatch_async(dispatch_get_main_queue(), ^{
  41. [self setPhoto:self.model.image];
  42. });
  43. }
  44. - (void)unbind {
  45. _model.delegate = nil;
  46. _model = nil;
  47. [self refreshUI];
  48. }
  49. @end