更新 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:
@@ -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
|
||||
|
Reference in New Issue
Block a user