更新 MedalsModel.h 和 MedalsModel.m,新增 expireDateString 方法以格式化过期时间;在 MedalsCollectionViewCell.m 和 MedalsCyclePagerCell.m 中优化 MP4 和图片的显示逻辑,增强降级处理;在 MedalsDetailView.m 中更新勋章显示逻辑,使用新的 URL 优先级;在 MedalsLevelIndicatorView.h 和 MedalsLevelIndicatorView.m 中新增重置等级指示器的方法;在 MedalsWearingControlCollectionViewCell.m 和 MedalsWearingListCollectionViewCell.m 中实现新的显示逻辑,支持 MP4 和图片的降级处理;在 NSString+Utils.h 和 NSString+Utils.m 中新增图片格式验证方法,提升代码健壮性和可读性。

This commit is contained in:
edwinQQQ
2025-06-27 19:56:03 +08:00
parent 0d6570a086
commit f0dad8886f
14 changed files with 748 additions and 56 deletions

View File

@@ -815,6 +815,15 @@ typedef enum : NSInteger {
[self.medalsCollectionView reloadData];
}
#pragma mark -
- (void)refreshDataAfterWearingChange {
// Mine
if (self.displayType == MedalsCenterDisplayType_Mine) {
// tab
[self loadMedalsList:self.currentTabType page:1];
}
}
#pragma mark - Button actions
- (void)didTapSquareButton:(UIButton *)sender {
MedalsViewController *vc = [[MedalsViewController alloc] initForMedalsSquare];
@@ -828,12 +837,30 @@ typedef enum : NSInteger {
- (void)didTapWearingButton:(UIButton *)sender {
MedalsWearingViewController *vc = [[MedalsWearingViewController alloc] init];
//
@kWeakify(self);
vc.dataChangedCallback = ^{
@kStrongify(self);
//
[self refreshDataAfterWearingChange];
};
[self addChildViewController:vc];
[self.view addSubview:vc.view];
}
- (void)didTapEmptyMedalButton:(UIButton *)sender {
MedalsWearingViewController *vc = [[MedalsWearingViewController alloc] init];
//
@kWeakify(self);
vc.dataChangedCallback = ^{
@kStrongify(self);
//
[self refreshDataAfterWearingChange];
};
[self addChildViewController:vc];
[self.view addSubview:vc.view];
}
@@ -952,6 +979,9 @@ typedef enum : NSInteger {
if (self.useMedals.count > 1 && self.displayType == MedalsCenterDisplayType_Square) {
[self startAutoScroll:toIndex];
}
MedalVo *vo = [self.useMedals xpSafeObjectAtIndex:toIndex];
self.medalDescLabel.text = [vo expireDateString];
}
#pragma mark - Lazy load