//
|
// HDLArcSeekbar.h
|
// HDL-ArcSeekbar
|
//
|
// Created by HDL on 2019/7/19.
|
// Copyright © 2019 JLChen. All rights reserved.
|
//
|
|
#import <UIKit/UIKit.h>
|
|
|
#define APP_DEFAULT_BG [UIColor colorWithRed:72/255.0f green:72/255.0f blue:73/255.0f alpha:1.0f]
|
|
typedef enum
|
{
|
HDL_THUMB_FILL,
|
HDL_THUMB_STROKE,
|
}HDLThumbMode;
|
|
@protocol HDLArcSeekbarProgressChangedDelegate <NSObject>
|
|
//手指按下,开始点击
|
-(void)onStartTrackingTouch;
|
|
//滑动导致的进度值发生改变
|
-(void)onProgressChanged:(int)mProgress;
|
|
//停止滑动或结束点击,导致的进度值发生改变
|
-(void)onStopTrackingTouch:(int)mProgress;
|
|
|
@end
|
|
@interface HDLArcSeekbar : UIControl
|
|
|
|
/**
|
是否可以点击
|
*/
|
@property (nonatomic, assign) BOOL isClickable;
|
|
///**
|
// 进度条颜色
|
// */
|
//@property (nonatomic, strong) UIColor* mArcProgressBarColor;
|
|
/**
|
背景颜色
|
*/
|
@property (nonatomic, strong) UIColor* mArcBackBarColor;
|
|
/**
|
拖动按钮颜色
|
*/
|
@property (nonatomic, strong) UIColor* mThumbColor;
|
|
/**
|
当前值
|
*/
|
@property (nonatomic, assign) float mProgressCurrentValue;
|
|
/**
|
圆弧宽度
|
*/
|
@property (nonatomic, assign) float mArcWidth;
|
|
/**
|
拖动按钮宽度
|
*/
|
@property (nonatomic, assign) float mThumbWidth;
|
|
/**
|
Thumb 拖动按钮风格
|
*/
|
@property (nonatomic, assign) HDLThumbMode mThumbMode;
|
|
/**
|
显示进度文字颜色
|
*/
|
@property (nonatomic, strong) UIColor* mProgressTextColor;
|
|
/**
|
显示进度文字大小
|
*/
|
@property (nonatomic, assign) int mProgressTextSize;
|
|
|
/**
|
进度显示文字坐标与进度圆弧的距离
|
*/
|
@property (nonatomic, assign) int mTextDefaultDistance;
|
|
|
#pragma mark HDLArcSeekbarProgressChangedDelegate
|
/**
|
进度值改变代理事件
|
*/
|
@property (nonatomic,weak) id<HDLArcSeekbarProgressChangedDelegate> mProgressChangedDelegate;
|
|
#pragma mark 对外接口方法
|
/**
|
设置进度值
|
|
@param mProgress 进度值
|
*/
|
-(void)setProgress:(int)mProgress;
|
|
/**
|
设置开口角度
|
|
@param mOpenAngle 开口角度
|
*/
|
-(void)setOpenAngle:(float)mOpenAngle;
|
|
/**
|
设置进度显示值单位
|
|
@param mString 单位字符
|
*/
|
-(void)setProgressBarUnitSring:(NSString *)mString;
|
|
///**
|
// *设置是否可以点击
|
// */
|
//-(void)setIsClickable:(BOOL)isClickable;
|
|
/**
|
设置最大值最小值
|
|
@param mMinValue 最小值
|
@param mMaxValue 最大值
|
*/
|
-(void)setMinAndMaxValue:(float)mMinValue mMaxValue:(float)mMaxValue;
|
|
/**
|
重置布局
|
|
@param mCGRect 布局
|
|
*/
|
-(void)initWithFrameArc:(CGRect) mCGRect;
|
|
|
|
///**
|
// 设置渐变效果 颜色数组
|
//
|
// @param mColors 颜色数组
|
// */
|
//-(void)setProgressBarColors:(NSArray *)mColors;
|
|
/**
|
设置渐变效果
|
|
@param startColor 开始颜色
|
@param endColor 结束颜色
|
*/
|
-(void)setProgressBarColors:(UIColor *)startColor endColor:(UIColor*)endColor;
|
|
/**
|
设置进度条颜色
|
|
@param oneColor 单一颜色
|
*/
|
-(void)setProgressBarColor:(UIColor *)oneColor;
|
|
@end
|
|
|
//*****V1.0.3*****
|
//# HDLArcSeekbar(圆弧拖动条)
|
//- [x] 增加onStartTrackingTouch 开始点击事件;
|
|
|
//*****V1.0.2*****
|
//# HDLArcSeekbar(圆弧拖动条)
|
//- [x] 增加拖动按钮宽度自定义;
|
//- [x] 优化进度显示文本位置,实现文本居中;
|
//- [x] 修改算法,优化拖动按钮自定义宽度而不影响位置;
|
//- [x] 增加渐变效果;
|
|
|
//*****V1.0.1*****
|
//# HDLArcSeekbar(圆弧拖动条)
|
//- [x] 支持进度度状态显示值,和自定义显示单位
|
//- [x] 支持进度显示条
|
//- [x] 增加禁止点击接口
|
//
|