android程序员学习ios - 7 - UIActivityIndicator,UIProgressView(xcode 5.0)

来源:互联网 发布:怒火攻心2是真干吗知乎 编辑:程序博客网 时间:2024/06/05 21:03

今天说下 UIActivityIndicator 和 UIProgressView的 用法,这两个东东就相当于 android中 progressDialog 和 progressBar,通常 用来 作为 耗时操作的指示器

其中  UIactivityIndicator = ProgressDialog,效果图如下:



          UIProgressView    = ProgressBar,效果图如下


UIActivityIndicator 部分实现

我们实现一个 点击按钮控制 UIActivityIndicator 旋转或者停止

1 点击xib,像视图控制器上拖动 一个 UIActivityIndicator控件(简单,过程略)

2 在视图对应的controller 中 声明该UIActivityIndicator(简单,过程略)

3 将视图中 的UIActivityIndicator 控件和 controller 中定义的 UIActivityIndicator 链接(简单,过程略)

4 在controller.m中定义 按钮的点击事件,在其中写出 UIActivityIndicator的显示和取消

- (void)btnClick:(id)sender{    if ([_activityIndicator isAnimating]) {        [_activityIndicator stopAnimating];    }else{        [_activityIndicator startAnimating];    }}
 解释下,可以很明显看出来代码的意思。不做过多解释。
5 请注意,该UIActivityIndicator是一直显示的,可以在 视图控制器中 该UIActivityIndicator的属性中勾选 hides when stopped



这样,当停止的时候就会消失。


UIProgressView 部分实现

我们来实现点击按钮 ,进度条每秒加载 1/10,十秒钟后 加载完毕

这块实现起来要比 上面的UIActivityIndicator麻烦一点,主要是 控制刷新 进度,我们采用NSTimer 来实现,NSTimer简称定时器,即以一定的频率 触发某个方法(个人肤浅理解)


1 假定你已经成功实现了 实现UIActivityIndicator中的1,2,3步骤

2 按钮的点击事件处理

- (void)progressViewClick:(id)sender{    _timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(update) userInfo:nil repeats:true];}

解释下 各个参数的含义: 


scheduledTimerWithTimeInterval:每隔一段时间触发selector对应的方法(单位是 秒)
target:处理 类
selector:处理方法,一般为 @selector(方法名)
userInfo: 待定
repeats:是否循环执行


即每隔一秒就调用下 update 方法


3 update方法

- (void)update{        //每次 加十分之一    _progressView.progress +=0.1;    //当为 100%的时候处理    if (_progressView.progress == 1) {        //停止        [_timer invalidate];        _timer = nil;                //进度条走完,弹出提示框        UIAlertView *alertView = [ [UIAlertView alloc] initWithTitle:@"title" message:@"message" delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:@"no", nil];                [alertView show];                _progressView.progress = 0;            }


必须要说,还是比较容易懂的,毕竟在android 基本处理都类似

    ok,今天 的结束了,好瞌睡。

                                             
0 0
原创粉丝点击