123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- //
- // YMReportEvidenceCell.m
- // MSYOUPAI
- //
- // Created by YoMi on 2024/3/5.
- // Copyright © 2024 MS. All rights reserved.
- //
- #import "YMReportEvidenceCell.h"
- #import "YMReportEvidenceCellViewModel.h"
- @interface YMReportEvidenceCell ()
- /// ViewModel
- @property (nonatomic, strong) YMReportEvidenceCellViewModel *viewModel;
- /// 基础视图
- @property (nonatomic, strong) UIView *baseView;
- /// 预览图
- @property (nonatomic, strong) UIImageView *previewImage;
- /// 选择图
- @property (nonatomic, strong) UIImageView *selectedImage;
- /// 删除按钮
- @property (nonatomic, strong) UIButton *deleteBtn;
- @end
- @implementation YMReportEvidenceCell
- - (void)ym_setupViews{
- self.contentView.backgroundColor = UIColor.clearColor;
- self.backgroundColor = UIColor.clearColor;
-
- [self.contentView addSubview:self.baseView];
- [self.baseView addSubview:self.selectedImage];
- [self.baseView addSubview:self.previewImage];
- [self.baseView addSubview:self.deleteBtn];
-
- [self setNeedsUpdateConstraints];
- [self updateConstraintsIfNeeded];
- }
- - (void)updateConstraints {
- [self.baseView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(self.contentView);
- make.left.equalTo(self.contentView);
- make.right.equalTo(self.contentView);
- make.bottom.equalTo(self.contentView);
- }];
-
- [self.selectedImage mas_makeConstraints:^(MASConstraintMaker *make) {
- make.edges.equalTo(self.baseView);
- }];
-
- [self.previewImage mas_makeConstraints:^(MASConstraintMaker *make) {
- make.edges.equalTo(self.baseView);
- }];
-
- [self.deleteBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(self.baseView).offset(adapt(5));
- make.right.equalTo(self.baseView).offset(adapt(-5));
- make.width.height.mas_equalTo(adapt(20));
- }];
- [super updateConstraints];
- }
- - (void)ym_bindViewModel:(YMReportEvidenceCellViewModel*)viewModel{
- if (!viewModel) {
- return;
- }
- _viewModel = viewModel;
-
- if (!self.viewModel.isAddCell) {
- self.previewImage.hidden = NO;
- if (OCStringIsEmpty(self.viewModel.networkAlbum)) {
- self.previewImage.image = self.viewModel.localAlbum;
- } else {
- [self.previewImage sd_setImageWithURL:[LCTools getImageUrlWithAddress:self.viewModel.networkAlbum]];
- }
- }else{
- self.previewImage.hidden = YES;
- }
- self.deleteBtn.hidden = self.viewModel.isHideDeleteButton;
-
- }
- - (UIView *)baseView{
- if (!_baseView) {
- _baseView = [[UIView alloc]init];
- }
- return _baseView;
- }
- - (UIImageView *)previewImage{
- if (!_previewImage) {
- _previewImage = [[UIImageView alloc]init];;
- _previewImage.contentMode = UIViewContentModeScaleAspectFill;
- _previewImage.layer.cornerRadius = adapt(10);
- _previewImage.layer.masksToBounds = YES;
- _previewImage.userInteractionEnabled = YES;
- }
- return _previewImage;
- }
- - (UIImageView *)selectedImage{
- if (!_selectedImage) {
- _selectedImage = [[UIImageView alloc]init];;
- _selectedImage.image = ImageByName(@"ym_report_add_icon");
- _selectedImage.contentMode = UIViewContentModeScaleAspectFill;
- _selectedImage.layer.cornerRadius = adapt(10);
- _selectedImage.layer.masksToBounds = YES;
- _selectedImage.userInteractionEnabled = YES;
- }
- return _selectedImage;
- }
- - (UIButton *)deleteBtn{
- if (!_deleteBtn) {
- _deleteBtn = [UIButton buttonWithType:UIButtonTypeCustom];
- [_deleteBtn setBackgroundImage:ImageByName(@"ym_report_delete_icon") forState:UIControlStateNormal];
- _deleteBtn.hidden = YES;
- WS(weakSelf)
- [[[_deleteBtn rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(id sender) {
- if (weakSelf.viewModel.removeReportEvidenceBlock) {
- weakSelf.viewModel.removeReportEvidenceBlock();
- }
- }];
- }
- return _deleteBtn;
- }
- @end
|