转 UIActivityIndicatorView、UIProgressView 活动与进度指示器-IOS开发

活动指示器(UIActivityIndicatorView)可以告知用户有一个操作正在进行中。进度指示器(UIProgressView )也具有同样功能,而且还可以告知用户离操作结束还多远。
这两个指示器都是派生自UIView,所以他们是视图,也可以附着在视图上。
一、UIActivityIndicatorView 活动指示器
1.创建
[java] view plaincopyprint?
UIActivityIndicatorView* activityIndicatorView = [ [ UIActivityIndicatorView  alloc ]  
 initWithFrame:CGRectMake(250.0,20.0,30.0,30.0)];  
2. 属性设置
风格:
[java] view plaincopyprint?
activityIndicatorView.activityIndicatorViewStyle= UIActivityIndicatorViewStyleGray;  
系统给你提供了3种风格:
[java] view plaincopyprint?
UIActivityIndicatorViewStyleWhiteLarge                    大型白色指示器  
[java] view plaincopyprint?
UIActivityIndicatorViewStyleWhite      标准尺寸白色指示器  
[java] view plaincopyprint?
UIActivityIndicatorViewStyleGray    灰色指示器,用于白色背景  
[java] view plaincopyprint?
自动隐藏  
如果希望指示器停止后自动隐藏,那么要设置hidesWhenStoped属性为YES。默认是YES。设置为NO停止后指示器仍会显示。
[java] view plaincopyprint?
activityIndicatorView.hidesWhenStopped = NO;  
3.显示
可以将它附着在任何视图上,比如表格单元、或者视图:
[java] view plaincopyprint?
[  self.view addSubview:activityIndicatorView ];  

4.启动和停止
[java] view plaincopyprint?
[  activityIndicatorView startAnimating ];//启动  
[  activityIndicatorView stopAnimating ];//停止  
二、UIProgressView  进度指示器
UIProgressView 与UIActivityIndicatorView 相似,只不过它提供了一个接口让你可以显示一个类似进度条的东西,这样就能让用户知道当前操作完成了多少。
1.创建
[java] view plaincopyprint?
UIProgressView* progressView = [ [ UIProgressView   alloc ]  
 initWithFrame:CGRectMake(150.0,20.0,130.0,30.0)];  
2. 属性设置
风格:
[java] view plaincopyprint?
progressView .UIProgressViewStyle= UIProgressViewStyleDefault;  
系统给你提供了2种风格:
[java] view plaincopyprint?
UIProgressViewStyleDefault                 标准进度条  
[java] view plaincopyprint?
UIProgressViewStyleDefault    深灰色进度条,用于工具栏中  
3.显示
[java] view plaincopyprint?
[  self.toolBar addSubview:progressView ];  
4.进度
[java] view plaincopyprint?
当它显示出来时你的程序可以更新它的进度,属性progre是一个0.0到1.0之间的浮点数:  
[java] view plaincopyprint?
progressView.progress = 0. 5;  

三、网络活动指示器
[java] view plaincopyprint?
当你的应用程序使用网络时,应当在iPhone的状态条上放置一个网络指示器,警告用户正在使用网络。这时你可以用UIApplication的一个名为networkActivityIndicatorVisible的属性。通过设置这个可以启用或禁用网络指示器:UIApplication* app = [ UIApplication  sharedApplication ];  
pp.networkActivityIndicatorVisible = YES;  

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

转 http://blog.csdn.net/iukey/article/details/7308311

原文地址:https://www.cnblogs.com/ygm900/p/3153891.html