2012年5月13日 星期日

UIProgressView

目的:點選按鈕出現進度條,完成後顯示訊息“完成”
step1. 畫面加入“button”及“label”元件

step2. ViewController.h 
@interface ViewController : UIViewController
{
    IBOutlet id mylab;
    int value;
}
-(IBAction)onClick:(id)sender;
@end
step3. ViewController.m
-(IBAction)onClick:(id)sender{
    //產生進度條控件,及初始化座標及長寬
    UIProgressView *progress = [[UIProgressView alloc]initWithFrame:CGRectMake(0, 328, 320, 9)];
    //預設從0開始
    [progress setProgress:0.0f];
    //進度條格式
    [progress setProgressViewStyle:UIProgressViewStyleDefault];
    //此畫面加上此控件
    [self.view addSubview:progress];
   
    //增加排程及事件每0.2秒執行
    [NSTimer scheduledTimerWithTimeInterval:0.2f target:self selector:@selector(changedValue:) userInfo:progress repeats:YES];
   
}
-(void) changedValue:(NSTimer *)sender {
    value ++;
    if(value > 10){
        [sender invalidate];
        [mylab setText:@"完成"];
    }else{
        UIProgressView *progress = (UIProgressView *)[sender userInfo];
        [progress setProgress:value/10.0f];
    }
}