YMEditProfileAlbumCell.m 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. //
  2. // YMEditProfileAlbumCell.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/2/18.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMEditProfileAlbumCell.h"
  9. #import "YMEditProfileAlbumCellViewModel.h"
  10. @interface YMEditProfileAlbumCell ()
  11. /// ViewModel
  12. @property (nonatomic, strong) YMEditProfileAlbumCellViewModel *viewModel;
  13. /// 基础视图
  14. @property (nonatomic, strong) UIView *baseView;
  15. /// 预览图
  16. @property (nonatomic, strong) UIImageView *previewImage;
  17. /// 选择图
  18. @property (nonatomic, strong) UIImageView *selectedImage;
  19. @end
  20. @implementation YMEditProfileAlbumCell
  21. - (void)ym_setupViews{
  22. self.contentView.backgroundColor = UIColor.clearColor;
  23. self.backgroundColor = UIColor.clearColor;
  24. [self.contentView addSubview:self.baseView];
  25. [self.baseView addSubview:self.selectedImage];
  26. [self.baseView addSubview:self.previewImage];
  27. [self setNeedsUpdateConstraints];
  28. [self updateConstraintsIfNeeded];
  29. }
  30. - (void)updateConstraints{
  31. [self.baseView mas_makeConstraints:^(MASConstraintMaker *make) {
  32. make.top.equalTo(self.contentView);
  33. make.left.equalTo(self.contentView);
  34. make.right.equalTo(self.contentView);
  35. make.bottom.equalTo(self.contentView);
  36. }];
  37. [self.selectedImage mas_makeConstraints:^(MASConstraintMaker *make) {
  38. make.edges.equalTo(self.baseView);
  39. }];
  40. [self.previewImage mas_makeConstraints:^(MASConstraintMaker *make) {
  41. make.edges.equalTo(self.baseView);
  42. }];
  43. [super updateConstraints];
  44. }
  45. - (void)ym_bindViewModel:(YMEditProfileAlbumCellViewModel*)viewModel{
  46. if (!viewModel) {
  47. return;
  48. }
  49. _viewModel = viewModel;
  50. if (!self.viewModel.isAddCell) {
  51. self.previewImage.hidden = NO;
  52. if (OCStringIsEmpty(self.viewModel.networkAlbum)) {
  53. self.previewImage.image = self.viewModel.localAlbum;
  54. } else {
  55. [self.previewImage sd_setImageWithURL:[LCTools getImageUrlWithAddress:self.viewModel.networkAlbum]];
  56. }
  57. }else{
  58. self.previewImage.hidden = YES;
  59. }
  60. }
  61. - (UIView *)baseView{
  62. if (!_baseView) {
  63. _baseView = [[UIView alloc]init];
  64. }
  65. return _baseView;
  66. }
  67. - (UIImageView *)previewImage{
  68. if (!_previewImage) {
  69. _previewImage = [[UIImageView alloc]init];;
  70. _previewImage.contentMode = UIViewContentModeScaleAspectFill;
  71. _previewImage.layer.cornerRadius = adapt(10);
  72. _previewImage.layer.masksToBounds = YES;
  73. _previewImage.userInteractionEnabled = YES;
  74. }
  75. return _previewImage;
  76. }
  77. - (UIImageView *)selectedImage{
  78. if (!_selectedImage) {
  79. _selectedImage = [[UIImageView alloc]init];;
  80. _selectedImage.image = ImageByName(@"ym_edit_profile_add_icon");
  81. _selectedImage.contentMode = UIViewContentModeCenter;
  82. // _selectedImage.layer.cornerRadius = adapt(10);
  83. // _selectedImage.layer.masksToBounds = YES;
  84. _selectedImage.userInteractionEnabled = YES;
  85. }
  86. return _selectedImage;
  87. }
  88. @end