UIProgressView和UISlider

UIProgressView和UISlider两个控件长的很像,区别在于UISlider有一个可以改变进度的滑块。虽然样子差不多,提供的属性的功能也差不多,但是属性的名字差别比较大。

UIProgressView和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不能监听进度的变化。

原文地址:https://www.cnblogs.com/sunzhenxing19860608/p/5853238.html