Files
peko-ios/YuMi/Modules/YMMine/View/Cell/MineInfo/XPMineUserInfoAlbumCollectionViewCell.m
2024-04-11 17:05:27 +08:00

102 lines
2.8 KiB
Objective-C

//
// YMMineUserInfoAlbumCollectionViewCell.m
// YUMI
//
// Created by YUMI on 2021/9/24.
//
#import "XPMineUserInfoAlbumCollectionViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "UIButton+EnlargeTouchArea.h"
///Model
#import "UserPhoto.h"
#import "NetImageView.h"
@interface XPMineUserInfoAlbumCollectionViewCell ()
///
@property (nonatomic,strong) NetImageView *logoImageView;
///
@property (nonatomic,strong) UIButton *deleteButton;
@end
@implementation XPMineUserInfoAlbumCollectionViewCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Response
- (void)deleteButtonAction:(UIButton *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoAlbumCollectionViewCell:didDeleteItem:)]) {
[self.delegate xPMineUserInfoAlbumCollectionViewCell:self didDeleteItem:self.photo];
}
}
#pragma mark - Private Method
- (void)initSubViews {
[self.contentView addSubview:self.logoImageView];
[self.contentView addSubview:self.deleteButton];
}
- (void)initSubViewConstraints {
[self.logoImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.contentView);
}];
[self.deleteButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(25, 25));
make.top.trailing.mas_equalTo(self.contentView).inset(0);
}];
}
#pragma mark - Getters And Setters
- (void)setPhoto:(UserPhoto *)photo {
_photo = photo;
if (_photo) {
self.logoImageView.imageUrl = photo.photoUrl;
}
}
- (void)setIsEdit:(BOOL)isEdit {
_isEdit = isEdit;
self.deleteButton.hidden = !_isEdit;
}
- (void)setAddImageName:(NSString *)addImageName {
_addImageName = addImageName;
if (_addImageName.length > 0) {
self.logoImageView.image = [UIImage imageNamed:_addImageName];
}
}
- (NetImageView *)logoImageView {
if (!_logoImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
_logoImageView = [[NetImageView alloc] initWithConfig:config];
_logoImageView.userInteractionEnabled = YES;
_logoImageView.layer.cornerRadius = 5;
_logoImageView.layer.masksToBounds = YES;
_logoImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _logoImageView;
}
- (UIButton *)deleteButton {
if (!_deleteButton) {
_deleteButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_deleteButton setImage:[UIImage imageNamed:@"mine_user_info_edit_photo_delete"] forState:UIControlStateNormal];
[_deleteButton setImage:[UIImage imageNamed:@"mine_user_info_edit_photo_delete"] forState:UIControlStateSelected];
[_deleteButton addTarget:self action:@selector(deleteButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _deleteButton;
}
@end