UIActivityIndicatorView和UIProgressView进度提示器


开始运行时ActivityIndicatorView和ProgressView同时运行,当ProgressView的值是1时,ActivityIndicatorView停止转动,并且隐藏。

#import "ViewController.h"


@interface ViewController ()

{

//首先创建两个控件

    UIActivityIndicatorView *activityIndicator;  

    UIProgressView *progressView;   

}


@end


@implementation ViewController


- (IBAction)startIndicator:(id)sender {

   //初始化指示器

    //activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(140, 200, 30, 30)];

    

   /*

    指定指示器的类型

    一共有三种类型:

     UIActivityIndicatorViewStyleWhiteLarge   //大型白色指示器

     UIActivityIndicatorViewStyleWhite      //标准尺寸白色指示器

     UIActivityIndicatorViewStyleGray    //灰色指示器,用于白色背景

     */

    activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite;

    

   //停止后是否隐藏(默认为YES)

    activityIndicator.hidesWhenStopped = YES;

    

   //Indicator添加到视图中

    [self.view addSubview:activityIndicator];

    

    //开始转动

    [activityIndicator startAnimating];

    

    //操作队列

    NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];

    

   //设置最大的操作数

    [operationQueue setMaxConcurrentOperationCount:1];

    

   //构建一个操作对象,selector指定的方法是在另外一个线程中运行的

    NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self

                                                                            selector:@selector(runIndicator) object:nil];

   //将操作加入队列,此时后台线程开始执行

    [operationQueue addOperation:operation];

    

}


- (IBAction)startProgress:(id)sender {

    progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(70, 560, 180, 20)];

    

    /*

    设置风格属性

    有两种风格属性:

     UIProgressViewStyleDefault

     UIProgressViewStyleBar

     */

    progressView.progressViewStyle = UIProgressViewStyleDefault;

     //设置进度,值为0——1.0的浮点数

    //    self.progressView.progress = .5;

    [self.view addSubview:progressView];

    

    //设定计时器,每隔1s调用一次runProgress方法

    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(runProgress)   userInfo:nil repeats:YES];

}


//在状态栏显示有网络请求的提示器

- (IBAction)startNetWork:(id)sender {

    UIApplication *app = [UIApplication sharedApplication];

    if (app.isNetworkActivityIndicatorVisible) {

        app.networkActivityIndicatorVisible = NO;

    }else {

        app.networkActivityIndicatorVisible = YES;

    }

}


-(void)runIndicator

{

   //开启线程并睡眠三秒钟

    [NSThread sleepForTimeInterval:3];

    //停止UIActivityIndicatorView

    [activityIndicator stopAnimating];

}


//增加progressView的进度

-(void)runProgress

{

    progressView.progress +=0.1;

}



- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

     activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(140, 200, 30, 30)];

    [self startIndicator: activityIndicator];

    [self startProgress:progressView];


}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值