我們要實現上面圖片的效果泉瞻,在滑動條滑動改變的同時,進度條也跟隨著改變司忱。
在 ViewController.h里面聲明:
#import@interface ViewController : UIViewController{
//進度條對象
//一般用來表示下載或視頻播放的進度
UIProgressView *_progressView;
//滑動條的定義
//一般用來進行調整音樂的音量等
UISlider *_slider;
}
//定義一個進度條屬性
@property(retain,nonatomic) UIProgressView * pView;
//定義滑動條屬性
@property(retain,nonatomic) UISlider * slider;
@end
在ViewController.m里面去實現:
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize slider=_slider;
@synthesize pView=_progressView;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//進度條的創(chuàng)建
_progressView =[[UIProgressView alloc]init];
//進度條的位置大小設置
//進度條的高度是不可以變化的,這里的40是不起任何作用的系統(tǒng)默認
_progressView.frame=CGRectMake(10, 100, 300, 140);
//甚至進度條的風格顏色值,默認是藍色的
_progressView.progressTintColor=[UIColor redColor];
//表示進度條未完成的提澎,剩余的軌跡顏色,默認是灰色
_progressView.trackTintColor =[UIColor blueColor];
//設置進度條的進度值
//范圍從0~1碴犬,最小值為0,最大值為1.
//0.8-->進度的80%
_progressView.progress=0.3;
//設置進度條的風格特征
//? ? _progressView.progressViewStyle=UIProgressViewStyleBar;
_progressView.progressViewStyle=UIProgressViewStyleDefault;
[self.view addSubview:_progressView];
//創(chuàng)建滑動條對象
_slider = [[UISlider alloc]init];
//位置設置跳纳,高度不可變更,40寫的不起作用,系統(tǒng)默認
_slider.frame =CGRectMake(10, 200, 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];
}
- (void) pressSlider{
NSLog(@"value=%f",_slider.value);
_progressView.progress=(_slider.value-_slider.minimumValue)/(_slider.maximumValue-
_slider.minimumValue);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
//? 關于改變UIProgressView的寬宪彩、高以及兩端弧度
1.self.progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];//這里是設定progressView的模式為默認模式
2.self.progressView.frame = CGRectMake(16, CGRectGetMaxY(label1.frame) + 15, SCREEN_WIDTH - 32 - image3.size.width - 25, 8);
3. self.progressView.progressTintColor=COLOR_THEME;//設定progressView的顯示顏色
4. CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 2.0f);
5.self.progressView.transform = transform;//設定寬高
6.self.progressView.trackImage = image4;
7. self.progressView.contentMode = UIViewContentModeScaleAspectFill;
//設定兩端弧度
8.self.progressView.layer.cornerRadius = 1.0;
9.self.progressView.layer.masksToBounds = YES;
//設定progressView的現實進度(一般情況下可以從后臺獲取到這個數字)
10. [self.progressView setProgress:0.70 animated:YES];
11.[self.view addSubview:self.progressView];