歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

UIActivityIndicatorView、UIProgressView 活動與進度指示器-iOS開發

活動指示器(UIActivityIndicatorView)可以告知用戶有一個操作正在進行中。進度指示器(UIProgressView )也具有同樣功能,而且還可以告知用戶離操作結束還多遠。

這兩個指示器都是派生自UIView,所以他們是視圖,也可以附著在視圖上。

一、UIActivityIndicatorView 活動指示器

1.創建

  1. UIActivityIndicatorView* activityIndicatorView = [ [ UIActivityIndicatorView  alloc ]  
  2.  initWithFrame:CGRectMake(250.0,20.0,30.0,30.0)];  

2. 屬性設置

風格:

  1. activityIndicatorView.activityIndicatorViewStyle= UIActivityIndicatorViewStyleGray;  

系統給你提供了3種風格:

  1. UIActivityIndicatorViewStyleWhiteLarge                    大型白色指示器  
 
  1. UIActivityIndicatorViewStyleWhite      標准尺寸白色指示器  
 
  1. UIActivityIndicatorViewStyleGray    灰色指示器,用於白色背景  

 

  1. 自動隱藏  

如果希望指示器停止後自動隱藏,那麼要設置hidesWhenStoped屬性為YES。默認是YES。設置為NO停止後指示器仍會顯示。

  1. activityIndicatorView.hidesWhenStoped = NO;  

3.顯示

可以將它附著在任何視圖上,比如表格單元、或者視圖:

  1. [  self.view addSubview:activityIndicatorView ];  

4.啟動和停止

  1. [  activityIndicatorView startAnimating ];//啟動   
  2. [  activityIndicatorView stopAnimating ];//停止  

二、UIProgressView  進度指示器

UIProgressView 與UIActivityIndicatorView 相似,只不過它提供了一個接口讓你可以顯示一個類似進度條的東西,這樣就能讓用戶知道當前操作完成了多少。

1.創建

  1. UIProgressView* progressView = [ [ UIProgressView   alloc ]  
  2.  initWithFrame:CGRectMake(150.0,20.0,130.0,30.0)];  

2. 屬性設置

風格:

  1. progressView .UIProgressViewStyle= UIProgressViewStyleDefault;  

系統給你提供了2種風格:

  1. UIProgressViewStyleDefault                 標准進度條  
  1. UIProgressViewStyleDefault    深灰色進度條,用於工具欄中  

3.顯示

  1. [  self.toolBar addSubview:progressView ];  

4.進度

  1. 當它顯示出來時你的程序可以更新它的進度,屬性progre是一個0.01.0之間的浮點數:  
  1. progressView.progress = 05;  

三、網絡活動指示器

  1. 當你的應用程序使用網絡時,應當在iPhone的狀態條上放置一個網絡指示器,警告用戶正在使用網絡。這時你可以用UIApplication的一個名為networkActivityIndicatorVisible的屬性。通過設置這個可以啟用或禁用網絡指示器:UIApplication* app = [ UIApplication  sharedApplication ];  
  2. pp.networkActivityIndicatorVisible = YES;  

四、拓展

是不是覺得又學了點新東西呢?確實。不過我還有個更好的東西推薦:MBProgressHUD   https://github.com/jdg/MBProgressHUD 一個更NB的第三方進度指示器,你可以按照它提供的例子去使用它,很強大的。不過有一點我要提醒你的是它是異步的,所以並不能阻塞你當前的程序,如果你想阻塞你的程序還要在邏輯控制上做一點修改。 

Copyright © Linux教程網 All Rights Reserved