UIProgressView和UISlider两个控件长的很像,区别在于UISlider有一个可以改变进度的滑块。虽然样子差不多,提供的属性的功能也差不多,但是属性的名字差别比较大。
UIProgressView控件的属性 | UISlider控件的属性 |
progress:当前的进度,取值范围是[0-1] | value:当前的进度值,[minimumValue,maximumValue] |
progressTintColor:已完成的进度的颜色 | maximumTrackTintColor:最大值一侧的背景色 |
trackTintColor:未完成的进度的颜色 | minimumTrackTintColor:最小值一侧的背景色 |
1:progress的最大值 | maximumValue:value的最大值 |
0:progress的最小值 | minimumValue:value的最小值 |
- (void) createUI { self.progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(10, 100, 200, 50)]; self.progressView.progress = 0.5; self.progressView.trackTintColor = [UIColor grayColor]; self.progressView.progressTintColor = [UIColor redColor]; [self.view addSubview:self.progressView]; self.slider = [[UISlider alloc] initWithFrame:CGRectMake(10, 160, 200, 50)]; self.slider.value = 50; self.slider.maximumValue = 100; self.slider.minimumValue = 0; self.slider.maximumTrackTintColor = [UIColor grayColor]; self.slider.minimumTrackTintColor = [UIColor redColor]; [self.view addSubview:self.slider]; [self.slider addTarget:self action:@selector(updateProgress) forControlEvents:UIControlEventValueChanged]; }
ps:UISlider可以通过UIControlEventValueChanged监听进度的变化,UIProgressView不能监听进度的变化。