191 lines
7.1 KiB
Objective-C
191 lines
7.1 KiB
Objective-C
//
|
|
// 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;
|
|
|
|
///钻石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);
|
|
}];
|
|
|
|
[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));
|
|
}];
|
|
}
|
|
-(void)setAlbumModel:(PIRoomPhotoAlbumItemModel *)albumModel{
|
|
_albumModel = albumModel;
|
|
@kWeakify(self);
|
|
self.coverView.hidden = _albumModel.type.intValue == 1;
|
|
self.operateBtn.hidden = !([_albumModel.uid isEqualToString:[AccountInfoStorage instance].getUid] && self.roomType == Photo_Album_Type_Mine);
|
|
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);
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
// UI更新代码
|
|
self.bgImageView.image = [UIImage setBlurImage:image value:30];
|
|
});
|
|
}];
|
|
}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;
|
|
}
|
|
|
|
}
|
|
|
|
-(void)operateAction{
|
|
if(self.delegate && [self.delegate respondsToSelector:@selector(pIRoomPhotoAlbumItemCell:clickMornWithModel:)]){
|
|
[self.delegate pIRoomPhotoAlbumItemCell:self clickMornWithModel:self.albumModel];
|
|
}
|
|
}
|
|
#pragma mark - 懒加载
|
|
- (NetImageView *)bgImageView{
|
|
if(!_bgImageView){
|
|
NetImageConfig *config = [[NetImageConfig alloc]init];
|
|
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
|
_bgImageView = [[NetImageView alloc]initWithConfig:config];
|
|
_bgImageView.userInteractionEnabled = YES;
|
|
[_bgImageView setCornerWithLeftTopCorner:kGetScaleWidth(10) rightTopCorner:kGetScaleWidth(10) bottomLeftCorner:kGetScaleWidth(10) bottomRightCorner:kGetScaleWidth(10) size:CGSizeMake(kGetScaleWidth(168), kGetScaleWidth(170))];
|
|
_bgImageView.contentMode = UIViewContentModeScaleAspectFill;
|
|
}
|
|
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];
|
|
_giftView.backgroundColor = UIColorFromRGB(0x001338);
|
|
_giftView.layer.cornerRadius = kGetScaleWidth(4);
|
|
_giftView.layer.masksToBounds = YES;
|
|
_giftView.layer.borderWidth = 0.5;
|
|
_giftView.layer.borderColor = UIColorFromRGB(0xD6D6D6).CGColor;
|
|
|
|
}
|
|
return _giftView;
|
|
}
|
|
|
|
- (UIImageView *)diamondView{
|
|
if(!_diamondView){
|
|
_diamondView = [UIImageView new];
|
|
_diamondView.image = kImage(@"moli_money_icon");
|
|
}
|
|
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){
|
|
_pi_priceView = [UILabel labelInitWithText:@"0" font:kFontRegular(14) textColor:[UIColor whiteColor]];
|
|
}
|
|
return _pi_priceView;
|
|
}
|
|
- (UIButton *)operateBtn{
|
|
if(!_operateBtn){
|
|
_operateBtn = [UIButton new];
|
|
[_operateBtn setBackgroundImage:kImage(@"pi_room_photo_album_operate") forState:UIControlStateNormal];
|
|
[_operateBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
|
[_operateBtn addTarget:self action:@selector(operateAction) forControlEvents:UIControlEventTouchUpInside];
|
|
}
|
|
return _operateBtn;
|
|
}
|
|
@end
|