iOS開發從入門到精通-- UIProgressView進度條&UISlider滑動條
阿新 • • 發佈:2019-02-18
UIProgressView進度條&UISlider滑動條:
我們要實現上面圖片的效果,在滑動條滑動改變的同時,進度條也跟隨著改變。
在 ViewController.h裡面宣告:
#import <UIKit/UIKit.h>
@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.
//進度條的建立
_progressView =[[UIProgressView alloc]init];
//進度條的位置大小設定
//進度條的高度是不可以變化的,這裡的40是不起任何作用的系統預設
_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];
//建立滑動條物件
_slider = [[UISlider alloc]init];
//位置設定,高度不可變更,40寫的不起作用,系統預設
_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