標籤:進度條 ui
實作類別似讀取資料進度條效果
代碼如下:
①建立UIProgressView對象
1)定義屬性
{ NSTimer *_proTimer;//計時 }@property (nonatomic, retain) UIProgressView *proView;//顯示進度資訊@property (nonatomic, retain) UILabel *proLabel;@property (nonatomic, assign) float proValue;//儲存進度值
//建立控制項UIProgressView self.proView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault]; //設定frame self.proView.frame = CGRectMake(10, 260, 300, 100); //設定當前進度當前值 self.proView.progress = 0; // self.proValue = 0.4; //設定進度條的顏色 self.proView.progressTintColor = [UIColor orangeColor]; //導軌的顏色 self.proView.trackTintColor = [UIColor greenColor]; //修改進度條的高度(仿射變換) self.proView.transform = CGAffineTransformMakeScale(1.0f,15.0f); //添加到當前的試圖上 [self.view addSubview:self.proView]; //釋放 [self.proView release];
②設定Label顯示進度值,
//建立顯示進度資訊的label self.proLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 300, 120, 30)]; self.proLabel.backgroundColor = [UIColor clearColor]; //顯示當前進度值 self.proLabel.text = [NSString stringWithFormat:@"loading%1.f%%",self.proView.progress*100]; [self.view addSubview:self.proLabel]; [self.proLabel release];
③建立計時器,平處理事件
//通過計時器迴圈改進度值 _proTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeProgress) userInfo:nil repeats:YES];//處理事件- (void)changeProgress { //設定進度每次變化值 self.proValue += 0.05; self.proView.progress = self.proValue; //顯示即時的進度值 self.proLabel.text = [NSString stringWithFormat:@"loading%1.f%%",self.proValue * 100]; if (self.proValue >= 1) { self.proValue = 0; self.proLabel.text = @"進度完成"; //停止計數器 [_proTimer invalidate]; }}
【學習ios之路:UI系列】UIProgressView