版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl18603543572/article/details/80863419
题记
在今天这个变化多端的世界,我们最大的危险不是外界的压力与竞争,而是我们内心的模式,这些模式决定我们看到些什么,感受到些什么,如何思考以及最终成为怎么样的人
效果
代码实现
#import <UIKit/UIKit.h>
@interface HWProgressView : UIView
@property (nonatomic, assign) CGFloat progress;
//进度条颜色
@property(nonatomic,strong) UIColor *progerssColor;
//进度条背景颜色
@property(nonatomic,strong) UIColor *progerssBackgroundColor;
//进度条边框的颜色
@property(nonatomic,strong) UIColor *progerssStokeBackgroundColor;
//进度条边框的宽度
@property(nonatomic,assign) CGFloat progerStokeWidth;
@end
#import "HWProgressView.h"
#define KProgressPadding 1.0f
@interface HWProgressView ()
@property (nonatomic, weak) UIView *tView;
@property (nonatomic, weak) UIView *borderView;
@end
@implementation HWProgressView
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
//边框
UIView *borderView = [[UIView alloc] initWithFrame:self.bounds];
borderView.layer.cornerRadius = self.bounds.size.height * 0.5;
borderView.layer.masksToBounds = YES;
borderView.backgroundColor = [UIColor whiteColor];
borderView.layer.borderColor = [[UIColor blueColor] CGColor];
borderView.layer.borderWidth = 2.0f;
self.borderView=borderView;
[self addSubview:borderView];
//进度
UIView *tView = [[UIView alloc] init];
tView.backgroundColor = [UIColor colorWithRed:0/255.0 green:191/255.0 blue:255/255.0 alpha:1];
tView.layer.cornerRadius = (self.bounds.size.height - (2.0f + 1.0f) * 2) * 0.5;
tView.layer.masksToBounds = YES;
[self addSubview:tView];
self.tView = tView;
}
return self;
}
-(void)setProgerssColor:(UIColor *)progerssColor{
_progerssColor=progerssColor;
_tView.backgroundColor=progerssColor;
}
-(void)setProgerStokeWidth:(CGFloat)progerStokeWidth{
_progerStokeWidth=progerStokeWidth;
_borderView.layer.borderWidth = progerStokeWidth;
}
-(void)setProgerssStokeBackgroundColor:(UIColor *)progerssStokeBackgroundColor{
_progerssStokeBackgroundColor=progerssStokeBackgroundColor;
_borderView.layer.borderColor = [progerssStokeBackgroundColor CGColor];
}
-(void)setProgerssBackgroundColor:(UIColor *)progerssBackgroundColor{
_progerssBackgroundColor = progerssBackgroundColor;
_borderView.backgroundColor=progerssBackgroundColor;
}
//更新进度
- (void)setProgress:(CGFloat)progress
{
_progress = progress;
CGFloat margin = self.progerStokeWidth + KProgressPadding;
CGFloat maxWidth = self.bounds.size.width - margin * 2;
CGFloat heigth = self.bounds.size.height - margin * 2;
_tView.frame = CGRectMake(margin, margin, maxWidth * progress, heigth);
}
@end
使用
//进度条
HWProgressView *progressView = [[HWProgressView alloc] initWithFrame:CGRectMake(30, 365, 150, 20)];
//进度条边框宽度
progressView.progerStokeWidth=1.0f;
//进度条未加载背景
progressView.progerssBackgroundColor=[UIColor lightGrayColor];
//进度条已加载 颜色
progressView.progerssColor=[UIColor blueColor];
//背景边框颜色
progressView.progerssStokeBackgroundColor=[UIColor grayColor];
[self.view addSubview:progressView];
self.progressView = progressView;
更新进度
self.progressView.progress += 0.01;