歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> UIActivityIndicatorView、UIProgressView 活動與進度指示器-iOS開發

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

日期:2017/3/1 10:27:53   编辑:Linux編程

活動指示器(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 = 0. 5;

三、網絡活動指示器

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

四、拓展

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

Copyright © Linux教程網 All Rights Reserved