UIProgressView和UISlider

2017-02-22  本文已影响1114人  小蘑菇2

当UISlide滑动的时候让UIProgressView也跟着滑动

D96ADFDA-7273-47DD-A158-374A12466EAA.png

代码如下:

#import "progressViewController.h"

@interface progressViewController ()
{
    UIProgressView *progressView;
    UISlider *slider;
}
@implementation progressViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //进度条的高度是不可以变化的,这里的40是不起任何作用的系统默认
    progressView = [[UIProgressView alloc]initWithFrame:CGRectMake(20, 180, 300, 40)];
    //设置进度条的进度值
    //范围从0~1,最小值为0,最大值为1.
    //0.8-->进度的80%
    progressView.progress = 0.3;
    //甚至进度条的风格颜色值,默认是蓝色的
    progressView.progressTintColor=[UIColor redColor];
    
    //表示进度条未完成的,剩余的轨迹颜色,默认是灰色
    progressView.trackTintColor =[UIColor blueColor];
    
    //设置进度条的背景图片
    progressView.trackImage=[UIImage imageNamed:@"dog.jpg"];
    //设置进度条上进度的背景图片
    progressView.progressImage=[UIImage imageNamed:@"lose.jpg"];
    
    //设置进度条的风格特征
    progressView.progressViewStyle = UIProgressViewStyleBar;
    [self.view addSubview:progressView];
    
    //创建滑动条对象
    slider = [[UISlider alloc]init];
    
    //位置设置,高度不可变更,40写的不起作用,系统默认
    slider.frame =CGRectMake(20, 210, 300, 40);
    
    //设置滑动条最大值
    slider.maximumValue=100;
    
    //设置滑动条的最小值,可以为负值
    slider.minimumValue=0;
    
    //设置滑动条的滑块位置float值
    slider.value=30;
    
    //左侧滑条背景颜色
    slider.minimumTrackTintColor=[UIColor redColor];
    
    //右侧滑条背景颜色
    slider.maximumTrackTintColor=[UIColor blueColor];
    
    //设置滑块的颜色
    slider.thumbTintColor=[UIColor blackColor];
    
    //对滑动条添加事件函数
    [slider addTarget:self action:@selector(pressSlider) forControlEvents:UIControlEventValueChanged];
    
    [self.view addSubview:slider];
    // Do any additional setup after loading the view.
}
- (void) pressSlider{
    NSLog(@"value=%f",slider.value);
    progressView.progress=(slider.value-slider.minimumValue)/(slider.maximumValue-
                                                                 slider.minimumValue);
}
@end

上一篇 下一篇

猜你喜欢

热点阅读