1. 程式人生 > >iOS開發從入門到精通-- UIProgressView進度條&UISlider滑動條

iOS開發從入門到精通-- UIProgressView進度條&UISlider滑動條

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