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

活动指示器(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    //灰色指示器,用于白色背景    
UIActivityIndicatorViewStyleWhiteLarge   //大型白色指示器  
UIActivityIndicatorViewStyleWhite      //标准尺寸白色指示器  
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];  
 

 

内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值