progressTintColor 属性
填充部分的颜色(譬如进度到30%,那么30%部分的颜色就是这个属性)
progressImage 属性
填充部分的图片,设置图片之后progressTintColor无效
trackTintColor 属性
未填充部分的颜色
trackImage 属性
未填充部分的图片,设置图片后trackTintColor无效
// // ViewController.m // UIProgressViewDemo // // Created by Apple on 16/5/12. // Copyright © 2016年 Apple. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController //声明一个UIProgressView控件 UIProgressView* progressView; - (void)viewDidLoad { [super viewDidLoad]; /* UIProgressViewStyleDefault, 默认 UIProgressViewStyleBar, 在工具栏上显示 */ // 创建 明确 进度条(注意设置的高度没有用) progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(10, 80, 300, 50)]; // 设置进度条的状态 进度值范围是0.0 ~ 1.0 1.0 表示100% [progressView setProgressViewStyle:UIProgressViewStyleDefault]; // 设置进度条的当前进度值(默认是0.0 ,进度值的范围是0.0 ~ 1.0 [100%]) [progressView setProgress:0.2]; //属性 填充进度部分的颜色(譬如进度到50%,那么50%部分的颜色就是这个属性) [progressView setProgressTintColor:[UIColor redColor]]; //属性,未填充部分的颜色 [progressView setTrackTintColor:[UIColor grayColor]]; [self.view addSubview:progressView]; // 按钮 UIButton* btnStart = [UIButton buttonWithType:UIButtonTypeSystem]; // 按钮位置 btnStart.frame = CGRectMake(50,200,100,50); // 设置按钮上的文字 [btnStart setTitle:@"启动" forState:UIControlStateNormal]; // 按钮事件 [btnStart addTarget:self action:@selector(onStart:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btnStart]; // 按钮 UIButton* btnEnd = [UIButton buttonWithType:UIButtonTypeSystem]; // 按钮位置 btnEnd.frame = CGRectMake(150,200,100,50); // 设置按钮上的文字 [btnEnd setTitle:@"取消" forState:UIControlStateNormal]; // 按钮事件 [btnEnd addTarget:self action:@selector(onEnd:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btnEnd]; } // 定时器 NSTimer* timer; -(void) onStart:(id)sender{ // 进度条从头开始 progressView.progress = 0; // 定时器 每隔1秒 执行一次changeProgress()方法进行进度条更新 timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeProgress) userInfo:nil repeats:YES]; } -(void) onEnd:(id)sender{ //结束定时器 [timer invalidate]; } float i = 0; - (void)changeProgress { // 如果进度条的进度值小于1.0,则进度条改变 if (progressView.progress <1.0) { i += 0.1; progressView.progress = i; }else{ //结束定时器 [timer invalidate]; i = 0; progressView.progress = 0; } } @end
效果图如下:
UIProgressView(明确进度条)是百分比进度条组件,如音乐,视频的播放进度和上传下载进度等等...
UIActivityIndicatorView(活动指示器[非明确进度条])是一个旋转到进度条组件
initWithActivityIndicatorStyle是UIActivityIndicatorView唯一的初始化方法
属性值是一个枚举变量,只有三个值:
UIActivityIndicatorViewStyleWhite; 白色圆圈
UIActivityIndicatorViewStyleWhiteLarge; 白色圆圈 但是要大些
UIActivityIndicatorViewStyleGray; 灰色圆圈
startAnimating // 开始旋转
stopAnimating // 结束旋转
setHidesWhenStopped:YES //当旋转结束时隐藏
// // ViewController.m // UIActivityIndicatorViewDemo // // Created by Apple on 16/5/12. // Copyright © 2016年 Apple. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController UIActivityIndicatorView* progressView; - (void)viewDidLoad { [super viewDidLoad]; // 不确定进度条 /* UIActivityIndicatorViewStyleWhiteLarge, 默认的大进度条 UIActivityIndicatorViewStyleWhite, UIActivityIndicatorViewStyleGray, 小进度条(在工具栏上使用) */ progressView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(100, 50, 100, 100)]; // 设置进度条背景 [progressView setBackgroundColor:[UIColor grayColor]]; //设置不确定进度条 风格样式 [progressView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge]; // 开启不确定进度条 // [progressView startAnimating]; [self.view addSubview:progressView]; // 按钮 UIButton* btnStart = [UIButton buttonWithType:UIButtonTypeSystem]; // 按钮位置 btnStart.frame = CGRectMake(50,200,100,50); // 设置按钮上的文字 [btnStart setTitle:@"启动" forState:UIControlStateNormal]; // 按钮事件 [btnStart addTarget:self action:@selector(onStart:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btnStart]; // 按钮 UIButton* btnEnd = [UIButton buttonWithType:UIButtonTypeSystem]; // 按钮位置 btnEnd.frame = CGRectMake(150,200,100,50); // 设置按钮上的文字 [btnEnd setTitle:@"取消" forState:UIControlStateNormal]; // 按钮事件 [btnEnd addTarget:self action:@selector(onEnd:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btnEnd]; } -(void) onStart:(id)sender{ // 开启不确定进度条 [progressView startAnimating]; } -(void) onEnd:(id)sender{ // 关闭不确定进度条 [progressView stopAnimating]; } @end
效果图如下: