码迷,mamicode.com
首页 > 移动开发 > 详细

ios线程练习更新进度条

时间:2015-04-13 09:37:32      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:ios   ios开发   线程   多线程   编程   

类似于,我们加载网页时候的进度条,我们来看看它们是怎么工作的。

#import "ViewController.h"


@interface ViewController ()

{

    UIProgressView *_view;

}

@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

  

    

    //设置进度条

    _view = [[UIProgressView alloc]init];

        _view.frame = CGRectMake(20, 100, 300, 3);

    _view.progress = 0;

    [self.view addSubview:_view];

    

    

    

    UIButton *btn = [[UIButton alloc]init];

    btn.frame = CGRectMake(60, 150, 200, 20);

    [btn setTitle:@"点击更新" forState:UIControlStateNormal];

    btn.backgroundColor = [UIColor redColor];

    [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:btn];

    

    

    

}


//在子线程中更新进度条

-(void)btnClick:(UIButton *)btn

{

    

    //表现在幕后

    [self performSelectorInBackground:@selector(updateProgressView) withObject:nil];

    

}



-(void)updateProgressView

{

    

    while (1) {

        if (_view.progress<1) {

            //每次累加0.0001的值

            NSNumber *number = [NSNumber numberWithFloat:_view.progress+0.0001];

            [self performSelectorOnMainThread:@selector(setProgressViewProgress:) withObject:number waitUntilDone:NO];

            

            //延迟0.0005

            [NSThread sleepForTimeInterval:0.0005];

        }

        else//否则结束

        {

            

            break;

        }

    }

    

    NSLog(@"1111");

    

    

}



//更新进度条()

-(void)setProgressViewProgress:(NSNumber *)number

{

    //progressview设置数值

    [_view setProgress:[number floatValue]];

}


@end


技术分享

今天2更了,明天继续。求知若饥,虚心若愚。这几天找工作找的蛮辛苦的,在大上海不容易啊,明天就要去面试了,估计一天都在外面跑,只有晚上有时间能给大家写东西,我会保持下去的,同时保证质量,当然如果有错误的话,大家可以明确指出来,我可以修改。嘻嘻,祝大家美梦,晚安。


ios线程练习更新进度条

标签:ios   ios开发   线程   多线程   编程   

原文地址:http://blog.csdn.net/wq820203420/article/details/45014697

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!