2025-06-18 18:31:13 +08:00
|
|
|
|
//
|
|
|
|
|
// MedalsLevelIndicatorView.h
|
|
|
|
|
// YuMi
|
|
|
|
|
//
|
|
|
|
|
// Created by P on 2025/6/18.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#import <UIKit/UIKit.h>
|
2025-07-02 15:52:48 +08:00
|
|
|
|
@class MedalSeriesItemVo, MedalVo;
|
2025-06-18 18:31:13 +08:00
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
|
2025-06-18 19:47:39 +08:00
|
|
|
|
typedef NS_ENUM(NSInteger, MedalsLevelIndicatorType) {
|
|
|
|
|
MedalsLevelIndicatorTypeNormal = 0, // 普通类型(只有圆点和文字)
|
|
|
|
|
MedalsLevelIndicatorTypeWithImage = 1, // 带图片类型(圆点上方有图片)
|
|
|
|
|
};
|
|
|
|
|
|
2025-06-18 18:31:13 +08:00
|
|
|
|
@interface MedalsLevelIndicatorView : UIView
|
|
|
|
|
|
|
|
|
|
@property (nonatomic, copy) void (^levelSelectedBlock)(NSInteger level);
|
2025-06-18 19:47:39 +08:00
|
|
|
|
@property (nonatomic, assign) MedalsLevelIndicatorType indicatorType;
|
2025-07-02 15:52:48 +08:00
|
|
|
|
@property (nonatomic, copy) NSArray <MedalVo *> *seriesItems;
|
2025-06-18 18:31:13 +08:00
|
|
|
|
|
|
|
|
|
- (void)setupWithMaxLevel:(NSInteger)maxLevel;
|
|
|
|
|
- (void)setSelectedLevel:(NSInteger)level animated:(BOOL)animated;
|
|
|
|
|
|
2025-07-03 19:35:17 +08:00
|
|
|
|
/**
|
|
|
|
|
* 设置多个高亮等级
|
|
|
|
|
* @param levels 需要高亮的等级数组
|
|
|
|
|
* @param animated 是否使用动画
|
|
|
|
|
*/
|
|
|
|
|
- (void)setHighlightLevels:(NSArray<NSNumber *> *)levels animated:(BOOL)animated;
|
|
|
|
|
|
2025-06-27 19:56:03 +08:00
|
|
|
|
/**
|
|
|
|
|
* 重置等级指示器到指定等级
|
|
|
|
|
* @param level 等级(0表示重置到初始状态)
|
|
|
|
|
*/
|
|
|
|
|
- (void)resetToLevel:(NSInteger)level;
|
|
|
|
|
|
2025-06-18 19:47:39 +08:00
|
|
|
|
/**
|
|
|
|
|
* 设置指定等级的图片
|
|
|
|
|
* @param imageUrl 图片URL
|
|
|
|
|
* @param level 等级
|
|
|
|
|
*/
|
|
|
|
|
- (void)setImageUrl:(NSString *)imageUrl forLevel:(NSInteger)level;
|
|
|
|
|
|
2025-06-27 11:33:16 +08:00
|
|
|
|
/**
|
|
|
|
|
* 设置系列数据,用于处理 MP4 和 PNG 资源
|
|
|
|
|
* @param seriesItems MedalSeriesItemVo 数组
|
|
|
|
|
*/
|
2025-07-02 15:52:48 +08:00
|
|
|
|
- (void)setSeriesItems:(NSArray <MedalVo *> *)seriesItems;
|
2025-06-27 11:33:16 +08:00
|
|
|
|
|
2025-06-18 18:31:13 +08:00
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|