一、UIProgressView介绍
你使用uiprogressview类来描述任务发费时间的进度。一个进度条的例子是在下载邮件信息时,显示在邮件应用程序的底部。uiprogressview类提供了用于管理进度条的样式和用于获取和设置在任务完成的进度值的属性。
二、相关属性和方法
@property(nonatomic) float progress 当前的进度,取值范围为0-1,1代表任务已经完成。
- (void)setProgress:(float)progress animated:(BOOL)animated 调整当前的进度
@property(nonatomic) UIProgressViewStyle progressViewStyle 可以设置当前进度条的类型
@property(nonatomic, strong) UIColor *progressTintColor ;可以用来设置已填充进度条的颜色
@property(nonatomic, strong) UIImage *progressImage;用来设置已填充进度条的图像。如果设置这个值progressTintColor被忽略了
@property(nonatomic, strong) UIColor *trackTintColor;用来设置未填充进度条的颜色
@property(nonatomic, strong) UIImage *trackImage;用来设置未填充进度条的颜色。同样的则trackTintColor被忽略了。
typedef enum {
UIProgressViewStyleDefault,
UIProgressViewStyleBar,
} UIProgressViewStyle;
枚举代表进度条允许的类型。
@interface AnotherViewController ()<UIPickerViewDelegate,UIPickerViewDataSource>{
double proValue;
NSTimer *timer;
UIProgressView *progressView;
}
@end
-(void)initProgressView{
progressView = [[UIProgressView alloc]initWithFrame:CGRectMake(10, 220, self.view.bounds.size.width-20, 40)];
progressView.progress = 0.0;//设置进度条起步
progressView.progressTintColor = [UIColor redColor];//设置已经填充进度条颜色
progressView.trackTintColor = [UIColor greenColor];//设置未填充进度条颜色
[self.view addSubview:progressView];
[progressView setProgressViewStyle:UIProgressViewStyleBar];//设置进度条类型
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(20, 300, self.view.bounds.size.width-40, 44);
btn.backgroundColor = [UIColor yellowColor];
[self.view addSubview:btn];
[btn addTarget:self action:@selector(beginProgressButton:)
forControlEvents:UIControlEventTouchUpInside];
}
-(void)beginProgressButton:(id)sender{
timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(progressOperator) userInfo:nil repeats:YES];
}
-(void)progressOperator{
proValue++;
if (proValue>10) {
[timer invalidate];
}else{
[progressView setProgress:proValue/10.0];
}
}
}