UIActivityIndicatorView、UIProgressView 活动与进度指示器 (实例)

来源:互联网 发布:mac上chrome flash 编辑:程序博客网 时间:2024/05/29 12:29

活动指示器(UIActivityIndicatorView)可以告知用户有一个操作正在进行中。进度指示器(UIProgressView )也具有同样功能,而且还可以告知用户离操作结束还多远。

 

这两个指示器都是派生自UIView,所以他们是视图,也可以附着在视图上。

 

一、UIActivityIndicatorView 活动指示器

 

1.创建

C代码 复制代码 收藏代码
  1. UIActivityIndicatorView* activityIndicatorView = [[UIActivityIndicatorView  alloc ]     
  2.  initWithFrame:CGRectMake(250.0,20.0,30.0,30.0)];    
 

2. 属性设置

风格:

C代码 复制代码 收藏代码
  1. activityIndicatorView.activityIndicatorViewStyle= UIActivityIndicatorViewStyleGray;  
 

系统给你提供了3种风格:

Java代码 复制代码 收藏代码
  1. UIActivityIndicatorViewStyleWhiteLarge   //大型白色指示器    
  2. UIActivityIndicatorViewStyleWhite      //标准尺寸白色指示器    
  3. UIActivityIndicatorViewStyleGray    //灰色指示器,用于白色背景    
 

自动隐藏  

如果希望指示器停止后自动隐藏,那么要设置hidesWhenStoped属性为YES。默认是YES。设置为NO停止后指示器仍会显示。

C代码 复制代码 收藏代码
  1. activityIndicatorView.hidesWhenStoped = NO;    
 

3.显示

可以将它附着在任何视图上,比如表格单元、或者视图:

C代码 复制代码 收藏代码
  1. [self.view addSubview:activityIndicatorView ];    

 

4.启动和停止

C代码 复制代码 收藏代码
  1. [activityIndicatorView startAnimating ];  //启动    
  2. [activityIndicatorView stopAnimating ];  //停止    
 

二、UIProgressView  进度指示器

UIProgressView 与UIActivityIndicatorView 相似,只不过它提供了一个接口让你可以显示一个类似进度条的东西,这样就能让用户知道当前操作完成了多少。

 

1.创建

C代码 复制代码 收藏代码
  1. UIProgressView* progressView = [[UIProgressView   alloc ]     
  2.  initWithFrame:CGRectMake(150.0,20.0,130.0,30.0)];  
 

2. 属性设置

风格:

C代码 复制代码 收藏代码
  1. progressView .UIProgressViewStyle= UIProgressViewStyleDefault;    
 

系统给你提供了2种风格:

C代码 复制代码 收藏代码
  1. UIProgressViewStyleDefault    //标准进度条    
  2. UIProgressViewStyleDefault    //深灰色进度条,用于工具栏中    
 

 3.显示

C代码 复制代码 收藏代码
  1. [self.toolBar addSubview:progressView ];  

 

4.进度

当它显示出来时你的程序可以更新它的进度,属性progre是一个0.0到1.0之间的浮点数:  

C代码 复制代码 收藏代码
  1. progressView.progress = 0. 5;   
 

三、网络活动指示器

当你的应用程序使用网络时,应当在iPhone的状态条上放置一个网络指示器,警告用户正在使用网络。这时你可以用UIApplication的一个名为networkActivityIndicatorVisible的属性。通过设置这个可以启用或禁用网络指示器:

C代码 复制代码 收藏代码
  1. UIApplication* app = [ UIApplication  sharedApplication ];     
  2. pp.networkActivityIndicatorVisible = YES;    
 

四、拓展

是不是觉得又学了点新东西呢?确实。不过我还有个更好的东西推荐:MBProgressHUD   https://github.com/jdg/MBProgressHUD 一个更NB的第三方进度指示器,你可以按照它提供的例子去使用它,很强大的。不过有一点我要提醒你的是它是异步的,所以并不能阻塞你当前的程序,如果你想阻塞你的程序还要在逻辑控制上做一点修改。  

 

 

来源:http://blog.csdn.net/iukey/article/details/7308311

 

 

 

实例:

 

UIActivityIndicatorView 通常都会使用在读取 Loading 画面中,用来表示程式仍在进行,只是需要时间来完成目前步骤,而 UIActivityIndicatorView 也可以直接从介面编辑器 Interface Builder 里的物件群拉出来使用,不过绝大部分在使用上还是採用动态产生(使用程式码产生)比较多,下列程式码演示如何在画面上建立一个 UIActivityIndicatorView,请看以下程式码。

 

C代码 复制代码 收藏代码
  1. //設定背景   
  2. UIImage *pattern = [UIImage imageNamed:@"bg.png"];   
  3. [self.view setBackgroundColor:[UIColor colorWithPatternImage:pattern]];   
  4.     
  5. //建立UIActivityIndicatorView並設定風格   
  6. UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];   
  7.     
  8. //開始UIActivityIndicatorView動畫(旋轉效果)   
  9. [indicator startAnimating];   
  10.     
  11. //設定位置並加入畫面   
  12. indicator.center = CGPointMake(160, 100);   
  13. [self.view addSubview:indicator];   
  14. [indicator release];  
 

如果想要停止 UIActivityIndicatorView,则直接使用 stopAnimating 即可,UIActivityIndicatorView 就会重画面上消失。

 

C代码 复制代码 收藏代码
  1. [indicator stopAnimating];  
 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 3岁宝宝喜欢含饭怎么办 孩子咳嗽发烧怎么办最有效 孩子咳嗽打哈切流鼻涕发烧怎么办 孩子香蕉吃多了怎么办 80多岁老人发烧怎么办 小孩香蕉吃多了怎么办 7个月宝宝缺钙怎么办 宝宝脖子被汗淹到红了脱皮怎么办? 小儿出汗多咳嗽怎么办吃什么 牛高烧不退怎么办最好 猪体温低不吃食怎么办 小孩发烧咳嗽怎么办吃什么药 大晚上发烧39度怎么办 胃受凉了老打嗝怎么办 大人发低烧怎么办如何退烧 吃了退热药不退热怎么办 猪持续高烧不退怎么办 猪感冒了不吃食怎么办 6岁儿童发烧38度怎么办 5岁儿童发烧38度怎么办 7岁儿童发烧38度怎么办 儿童发烧到38度怎么办 4岁儿童发烧38度怎么办 9岁儿童发烧38度怎么办 5儿童发烧38度怎么办 咳嗽了20多天怎么办 嘴角烂了怎么办涂什么药 感冒发烧到39度怎么办 6岁宝宝发烧头痛怎么办 生完孩子耻骨疼怎么办 顺产底下外阴红肿伤口流脓怎么办 产后便秘怎么办什么方法最有效 一周岁宝宝拉肚怎么办 三岁宝宝拉水怎么办 喝了过期的青汁怎么办 吃了黑心的苹果怎么办 新生儿两天没拉大便怎么办 贝亲奶瓶不漏怎么办 满月婴儿吃多了怎么办 婴儿吃撑了哭闹怎么办 新生儿吃撑了怎么办啊