Files
peko-ios/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/Cell/PIRoomPhotoAlbumItemCell.m

191 lines
7.1 KiB
Mathematica
Raw Normal View History

2023-10-12 11:45:47 +08:00
//
// PIRoomPhotoAlbumItemCell.m
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "PIRoomPhotoAlbumItemCell.h"
@interface PIRoomPhotoAlbumItemCell()
///
@property(nonatomic,strong) UIButton *operateBtn;
///
@property(nonatomic,strong) NetImageView *bgImageView;
///
@property(nonatomic,strong) UIView *coverView;
///
@property(nonatomic,strong) NetImageView *giftView;
2023-10-19 11:03:06 +08:00
2023-10-12 11:45:47 +08:00
///icon
@property(nonatomic,strong) UIImageView *diamondView;
///
@property(nonatomic,strong) UILabel *pi_priceView;
///
@property(nonatomic,strong) UIImageView *lockView;
@end
@implementation PIRoomPhotoAlbumItemCell
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self.contentView addSubview:self.bgImageView];
[self.bgImageView addSubview:self.operateBtn];
[self.bgImageView addSubview:self.coverView];
[self.bgImageView addSubview:self.lockView];
[self.coverView addSubview:self.giftView];
[self.coverView addSubview:self.diamondView];
[self.coverView addSubview:self.pi_priceView];
}
-(void)installConstraints{
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
}];
[self.operateBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(28));
make.height.mas_equalTo(kGetScaleWidth(18));
make.top.trailing.equalTo(self.bgImageView);
}];
[self.coverView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.bottom.trailing.equalTo(self.bgImageView);
make.height.mas_equalTo(kGetScaleWidth(32));
}];
[self.giftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(24));
make.leading.mas_equalTo(kGetScaleWidth(8));
make.centerY.equalTo(self.coverView);
}];
2023-10-19 11:03:06 +08:00
2023-10-12 11:45:47 +08:00
[self.diamondView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(16));
make.centerY.equalTo(self.coverView);
make.leading.mas_equalTo(kGetScaleWidth(38));
}];
[self.pi_priceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(55));
make.centerY.equalTo(self.coverView);
make.trailing.mas_equalTo(-kGetScaleWidth(8));
}];
[self.lockView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(36));
make.centerX.equalTo(self.contentView);
make.top.mas_equalTo(kGetScaleWidth(54));
}];
}
2023-10-17 18:30:14 +08:00
-(void)setAlbumModel:(PIRoomPhotoAlbumItemModel *)albumModel{
_albumModel = albumModel;
@kWeakify(self);
self.coverView.hidden = _albumModel.type.intValue == 1;
2023-10-18 17:16:50 +08:00
self.operateBtn.hidden = !([_albumModel.uid isEqualToString:[AccountInfoStorage instance].getUid] && self.roomType == Photo_Album_Type_Mine);
2023-10-17 18:30:14 +08:00
if(_albumModel.type.intValue == 2){
_pi_priceView.text = _albumModel.totalGoldPrice;
_lockView.hidden = _albumModel.status == 1;
_giftView.imageUrl = _albumModel.giftUrl;
if(_albumModel.status == 0){
[self.bgImageView loadImageWithUrl:_albumModel.photoUrl completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
@kStrongify(self);
2023-10-31 11:09:04 +08:00
dispatch_async(dispatch_get_main_queue(), ^{
// UI
2024-02-21 10:18:59 +08:00
self.bgImageView.image = [UIImage setBlurImage:image value:30];
2023-10-31 11:09:04 +08:00
});
2023-10-17 18:30:14 +08:00
}];
}else{
self.bgImageView.image = nil;
[self.bgImageView loadImageWithUrl:_albumModel.photoUrl completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
@kStrongify(self);
self.bgImageView.image = image;
}];
}
}else{
_lockView.hidden = YES;
_pi_priceView.text = _albumModel.totalGoldPrice;
self.bgImageView.image = nil;
[self.bgImageView loadImageWithUrl:_albumModel.photoUrl completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
@kStrongify(self);
self.bgImageView.image = image;
}];
_giftView.image = nil;
}
}
2023-10-12 11:45:47 +08:00
2023-10-13 17:20:50 +08:00
-(void)operateAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(pIRoomPhotoAlbumItemCell:clickMornWithModel:)]){
2023-10-17 18:30:14 +08:00
[self.delegate pIRoomPhotoAlbumItemCell:self clickMornWithModel:self.albumModel];
2023-10-13 17:20:50 +08:00
}
}
2023-10-12 11:45:47 +08:00
#pragma mark -
- (NetImageView *)bgImageView{
if(!_bgImageView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_bgImageView = [[NetImageView alloc]initWithConfig:config];
_bgImageView.userInteractionEnabled = YES;
2023-10-19 11:44:58 +08:00
[_bgImageView setCornerWithLeftTopCorner:kGetScaleWidth(10) rightTopCorner:kGetScaleWidth(10) bottomLeftCorner:kGetScaleWidth(10) bottomRightCorner:kGetScaleWidth(10) size:CGSizeMake(kGetScaleWidth(168), kGetScaleWidth(170))];
2023-10-13 17:20:50 +08:00
_bgImageView.contentMode = UIViewContentModeScaleAspectFill;
2023-10-12 11:45:47 +08:00
}
return _bgImageView;
}
- (UIView *)coverView{
if(!_coverView){
_coverView = [UIView new];
_coverView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.6];
[_coverView setCornerWithLeftTopCorner:0 rightTopCorner:kGetScaleWidth(8) bottomLeftCorner:kGetScaleWidth(8) bottomRightCorner:kGetScaleWidth(8) size:CGSizeMake(kGetScaleWidth(168), kGetScaleWidth(32))];
}
return _coverView;
}
- (NetImageView *)giftView{
if(!_giftView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_giftView = [[NetImageView alloc]initWithConfig:config];
2023-10-19 11:03:06 +08:00
_giftView.backgroundColor = UIColorFromRGB(0x001338);
_giftView.layer.cornerRadius = kGetScaleWidth(4);
2023-10-12 11:45:47 +08:00
_giftView.layer.masksToBounds = YES;
2023-10-19 11:03:06 +08:00
_giftView.layer.borderWidth = 0.5;
_giftView.layer.borderColor = UIColorFromRGB(0xD6D6D6).CGColor;
2023-10-12 11:45:47 +08:00
}
return _giftView;
}
2023-10-19 11:03:06 +08:00
2023-10-12 11:45:47 +08:00
- (UIImageView *)diamondView{
if(!_diamondView){
_diamondView = [UIImageView new];
_diamondView.image = kImage(@"moli_money_icon");
2023-10-12 11:45:47 +08:00
}
return _diamondView;
}
- (UIImageView *)lockView{
if(!_lockView){
_lockView = [UIImageView new];
_lockView.image = kImage(@"pi_room_photo_album_lock");
}
return _lockView;
}
- (UILabel *)pi_priceView{
if(!_pi_priceView){
2023-10-19 11:03:06 +08:00
_pi_priceView = [UILabel labelInitWithText:@"0" font:kFontRegular(14) textColor:[UIColor whiteColor]];
2023-10-12 11:45:47 +08:00
}
return _pi_priceView;
}
- (UIButton *)operateBtn{
if(!_operateBtn){
_operateBtn = [UIButton new];
[_operateBtn setBackgroundImage:kImage(@"pi_room_photo_album_operate") forState:UIControlStateNormal];
2023-10-13 17:20:50 +08:00
[_operateBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_operateBtn addTarget:self action:@selector(operateAction) forControlEvents:UIControlEventTouchUpInside];
2023-10-12 11:45:47 +08:00
}
return _operateBtn;
}
@end