码农的空间

codding
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

UIProgressView和UISlider

Posted on 2016-09-08 15:28  我是孙海龙  阅读(876)  评论(0编辑  收藏  举报

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