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不能监听进度的变化。
浙公网安备 33010602011771号