UIProgressView 進(jìn)度指示器
UIProgressView 與UIActivityIndicatorView 相似嘁字,只不過它提供了一個接口讓你可以顯示一個類似進(jìn)度條的東西琴锭,這樣就能讓用戶知道當(dāng)前操作完成了多少(告知用戶離操作結(jié)束還多遠(yuǎn))。
一.創(chuàng)建
UIProgressView* progressView = [ [ UIProgressView alloc ]
initWithFrame:CGRectMake(150.0,20.0,130.0,30.0)];
二.設(shè)置風(fēng)格:
progressView .UIProgressViewStyle= UIProgressViewStyleDefault;
系統(tǒng)給你提供了2種風(fēng)格:
UIProgressViewStyleDefault 標(biāo)準(zhǔn)進(jìn)度條
UIProgressViewStyleDefault 深灰色進(jìn)度條葛圃,用于工具欄中
三.顯示
[ self.toolBar addSubview:progressView ];
四.進(jìn)度
當(dāng)它顯示出來時你的程序可以更新它的進(jìn)度舔腾,屬性progress是一個0.0到1.0之間的浮點數(shù):
progressView.progress= 0. 5;
五.示例代碼
4.09UIProgressView(1)
- (void)progressChanged:(NSTimer*)timer
{
if(_progressView.progress>=1.0) {
[timerinvalidate];
}
//如果對象的progress大于1.0,則定時器失效
_progressView.progress+=0.02;
//讓對象的progress值每次都加0.02阔拳,以此達(dá)到讓進(jìn)度動起來的效果。
}
- (void)viewDidLoad
{
[superviewDidLoad];
self.progressView= [[UIProgressViewalloc]init];
//創(chuàng)建一個UIProgressView對象:_progressView
_progressView.frame=CGRectMake(0,20,320,0);
//設(shè)置它的位置及大小类嗤,它的高是默認(rèn)的為9糊肠,可以寫成0辨宠。
_progressView.progressViewStyle=UIProgressViewStyleDefault;
//設(shè)置它的風(fēng)格,為默認(rèn)的
_progressView.trackTintColor= [UIColorblueColor];
//設(shè)置軌道的顏色
_progressView.progressTintColor= [UIColorwhiteColor];
//設(shè)置進(jìn)度的顏色
_progressView.progress=0.0;
//設(shè)置進(jìn)度的初始值货裹,即初始位置嗤形。范圍是0.0-1.0
[self.viewaddSubview:_progressView];
//把_progressView加入到view上
[_progressViewrelease];
//要記得release
[NSTimerscheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(progressChanged:)
userInfo:nil
repeats:YES];
//設(shè)置定時器
}
第二種介紹
UIProgressView:
作用:
動態(tài)顯示當(dāng)前工作狀態(tài)進(jìn)度。
progressView
Progress bar view
1.h file
//? Created by denny chen on 12-7-8.
//? Copyright (c) 2012年__MyCompanyName__. All rights reserved.
//
#import
@interfaceProgressViewViewController :UIViewController
{
UIProgressView*progressview;
UIProgressView*barprogressview;
NSTimer*timer;
IBOutletUIButton*startButton;
IBOutletUIButton*stopButton;
}
@property(nonatomic,retain)IBOutletUIProgressView*progressview;
@property(nonatomic,retain)IBOutletUIProgressView*barprogressview;
-(IBAction) startProgress:(id)sender;
-(IBAction) stopProgress:(id)sender;
@end
2 .m file
@implementationProgressViewViewController
@synthesizeprogressview;
@synthesizebarprogressview;
- (void)viewDidLoad
{
self.progressview=nil;
self.barprogressview=nil;
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
stopButton.enabled=NO;
startButton.enabled=YES;
}
-(void) dealloc
{
self.progressview=nil;
self.barprogressview=nil;
[superdealloc];
}
- (void)viewDidUnload
{
self.progressview=nil;
self.barprogressview=nil;
[superviewDidUnload];
// Release any retained subviews of the main view.
}
/*進(jìn)度條每次加0.01 */
-(void) timerChanged:(id)sender
{
self.progressview.progress+=0.01f;
self.barprogressview.progress+=0.01f;
}
-(IBAction) startProgress:(id)sender
{
timer=[NSTimerscheduledTimerWithTimeInterval:0.03f
target:self
selector:@selector(timerChanged:)
userInfo:nil
repeats:YES];
//[timerretain];
startButton.enabled=NO;
stopButton.enabled=YES;
}
-(IBAction) stopProgress:(id)sender
{
[timerinvalidate];
//[timerrelease];
//timer=nil;
self.progressview.progress=0.0f;
self.barprogressview.progress=0.0f;
startButton.enabled=YES;
stopButton.enabled=NO;
}