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