Files
peko-ios/YuMi/Modules/YMRoom/Features/Boom/RoomBoomEntryView.m
2024-10-11 12:31:37 +08:00

99 lines
3.0 KiB
Objective-C

//
// RoomBoomEntryView.m
// YuMi
//
// Created by P on 2024/10/8.
//
#import "RoomBoomEntryView.h"
#import "BoomInfoModel.h"
@interface RoomBoomEntryView()
@property (nonatomic, strong) NetImageView *icon;
@property (nonatomic, strong) UIImageView *progress;
@property (nonatomic, strong) UIImageView *progressBG;
@end
@implementation RoomBoomEntryView
- (void)setBoomModel:(BoomDetailModel *)boomModel {
_boomModel = boomModel;
@kWeakify(self);
dispatch_async(dispatch_get_main_queue(), ^{
@kStrongify(self);
self.icon.imageUrl = boomModel.pic;
// CGFloat progress = boomModel.speed * 1.0 / 100.0;
// if (progress == 0) {
// self.progress.hidden = YES;
// } else {
// self.progress.hidden = NO;
// [UIView animateWithDuration:0.3 animations:^{
// [self.progress mas_updateConstraints:^(MASConstraintMaker *make) {
// make.width.mas_equalTo(kGetScaleWidth(32) * progress);
// }];
// [self layoutIfNeeded];
// }];
// }
});
}
- (instancetype)init {
if (self = [super init]) {
[self addSubview:self.icon];
[self.icon mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.mas_equalTo(self);
make.size.mas_equalTo(CGSizeMake(kGetScaleWidth(40), kGetScaleWidth(40)));
}];
[self addSubview:self.progressBG];
[self.progressBG mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.icon).offset(3);
make.leading.mas_equalTo(self.icon).offset(3);
make.trailing.mas_equalTo(self.icon).offset(-3);
make.height.mas_equalTo(7);
}];
[self addSubview:self.progress];
[self.progress mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.progressBG);
make.leading.mas_equalTo(self.icon).offset(4.5);
make.width.mas_equalTo(kGetScaleWidth(32));
make.height.mas_equalTo(5);
}];
}
return self;
}
- (UIImageView *)icon {
if (!_icon) {
_icon = [[NetImageView alloc] init];
_icon.userInteractionEnabled = YES;
_icon.contentMode = UIViewContentModeScaleAspectFit;
_icon.transform = CGAffineTransformMakeRotation(-M_PI / 6);
}
return _icon;
}
- (UIImageView *)progress {
if (!_progress) {
UIImage *progressImage = [kImage(@"room_boom_entry_progress_bar") resizableImageWithCapInsets:UIEdgeInsetsMake(0, 3, 0, 3) resizingMode:UIImageResizingModeStretch];
_progress = [[UIImageView alloc] initWithImage:progressImage];
_progress.userInteractionEnabled = YES;
_progress.hidden = NO;
}
return _progress;
}
- (UIImageView *)progressBG {
if (!_progressBG) {
_progressBG = [[UIImageView alloc] initWithImage:kImage(@"room_boom_entry_progress_bar_bg")];
_progressBG.userInteractionEnabled = YES;
}
return _progressBG;
}
@end