wxr
2020-06-16 f6fd8acd7c53c44187e70b4709443318a628f4b5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
//
//  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] 增加禁止点击接口
//