iOS开发之基础视图——UIProgressView和UIProgressView

      UIProgressView(明确进度条)是百分比进度条组件,如音乐,视频的播放进度和上传下载进度等等...
      UIActivityIndicatorView(非明确进度条)是一个旋转到进度条组件

     UIProgressViewStyle 有两个枚举变量
          progressViewStyle 属性
               1. UIProgressViewStyleDefault  
               2. UIProgressViewStyleBar 一般用于toolbar

         progressTintColor 属性 

               填充部分的颜色(譬如进度到30%,那么30%部分的颜色就是这个属性)

         progressImage 属性

              填充部分的图片,设置图片之后progressTintColor无效

        trackTintColor 属性

              未填充部分的颜色 

        trackImage 属性

              未填充部分的图片,设置图片后trackTintColor无效 



//
//  ViewController.m
//  UIProgressViewDemo
//
//  Created by Apple on 16/5/12.
//  Copyright © 2016年 Apple. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

//声明一个UIProgressView控件
UIProgressView* progressView;

- (void)viewDidLoad {
    [super viewDidLoad];
    
    /*
     UIProgressViewStyleDefault, 默认
     UIProgressViewStyleBar,     在工具栏上显示
     */
    // 创建 明确 进度条(注意设置的高度没有用)
    progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(10, 80, 300, 50)];
    // 设置进度条的状态 进度值范围是0.0 ~ 1.0   1.0 表示100%
    [progressView setProgressViewStyle:UIProgressViewStyleDefault];
    // 设置进度条的当前进度值(默认是0.0 ,进度值的范围是0.0 ~ 1.0 [100%])
    [progressView setProgress:0.2];
    //属性 填充进度部分的颜色(譬如进度到50%,那么50%部分的颜色就是这个属性)
    [progressView setProgressTintColor:[UIColor redColor]];
    //属性,未填充部分的颜色
    [progressView setTrackTintColor:[UIColor grayColor]];
    
    [self.view addSubview:progressView];
    
    // 按钮
    UIButton* btnStart = [UIButton buttonWithType:UIButtonTypeSystem];
    // 按钮位置
    btnStart.frame = CGRectMake(50,200,100,50);
    // 设置按钮上的文字
    [btnStart setTitle:@"启动" forState:UIControlStateNormal];
    // 按钮事件
    [btnStart addTarget:self action:@selector(onStart:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btnStart];
    
    // 按钮
    UIButton* btnEnd = [UIButton buttonWithType:UIButtonTypeSystem];
    // 按钮位置
    btnEnd.frame = CGRectMake(150,200,100,50);
    // 设置按钮上的文字
    [btnEnd setTitle:@"取消" forState:UIControlStateNormal];
    // 按钮事件
    [btnEnd addTarget:self action:@selector(onEnd:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btnEnd];
    
    
}
// 定时器
NSTimer* timer;

-(void) onStart:(id)sender{
    // 进度条从头开始
    progressView.progress = 0;
    // 定时器 每隔1秒 执行一次changeProgress()方法进行进度条更新
    timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeProgress) userInfo:nil repeats:YES];
}

-(void) onEnd:(id)sender{
    //结束定时器
    [timer invalidate];
}

float i = 0;
- (void)changeProgress {
    // 如果进度条的进度值小于1.0,则进度条改变
    if (progressView.progress <1.0) {
        i += 0.1;
        progressView.progress = i;
    }else{
        //结束定时器
        [timer invalidate];
        i = 0;
        progressView.progress = 0;
    }
}

@end
   

   效果图如下:





    UIProgressView(明确进度条)是百分比进度条组件,如音乐,视频的播放进度和上传下载进度等等...
    UIActivityIndicatorView(活动指示器[非明确进度条])是一个旋转到进度条组件


   initWithActivityIndicatorStyle是UIActivityIndicatorView唯一的初始化方法
   属性值是一个枚举变量,只有三个值:
          UIActivityIndicatorViewStyleWhite; 白色圆圈
          UIActivityIndicatorViewStyleWhiteLarge; 白色圆圈 但是要大些
          UIActivityIndicatorViewStyleGray; 灰色圆圈


         startAnimating // 开始旋转
         stopAnimating // 结束旋转
        setHidesWhenStopped:YES //当旋转结束时隐藏


//
//  ViewController.m
//  UIActivityIndicatorViewDemo
//
//  Created by Apple on 16/5/12.
//  Copyright © 2016年 Apple. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

UIActivityIndicatorView* progressView;
- (void)viewDidLoad {
    [super viewDidLoad];
    // 不确定进度条
    /*
     UIActivityIndicatorViewStyleWhiteLarge, 默认的大进度条
     UIActivityIndicatorViewStyleWhite,
     UIActivityIndicatorViewStyleGray, 小进度条(在工具栏上使用)
     */
    progressView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(100, 50, 100, 100)];
    // 设置进度条背景
    [progressView setBackgroundColor:[UIColor grayColor]];
    //设置不确定进度条 风格样式
    [progressView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge];
    // 开启不确定进度条
    //    [progressView startAnimating];
    
    [self.view addSubview:progressView];
    
    // 按钮
    UIButton* btnStart = [UIButton buttonWithType:UIButtonTypeSystem];
    // 按钮位置
    btnStart.frame = CGRectMake(50,200,100,50);
    // 设置按钮上的文字
    [btnStart setTitle:@"启动" forState:UIControlStateNormal];
    // 按钮事件
    [btnStart addTarget:self action:@selector(onStart:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btnStart];
    
    // 按钮
    UIButton* btnEnd = [UIButton buttonWithType:UIButtonTypeSystem];
    // 按钮位置
    btnEnd.frame = CGRectMake(150,200,100,50);
    // 设置按钮上的文字
    [btnEnd setTitle:@"取消" forState:UIControlStateNormal];
    // 按钮事件
    [btnEnd addTarget:self action:@selector(onEnd:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btnEnd];
    
    
}

-(void) onStart:(id)sender{
    // 开启不确定进度条
    [progressView startAnimating];
}

-(void) onEnd:(id)sender{
    // 关闭不确定进度条
    [progressView stopAnimating];
    
    
}


@end
   

    效果图如下:


   

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值