活動指示器(UIActivityIndicatorView)可以告知用戶有一個操作正在進行中。進度指示器(UIProgressView )也具有同樣功能,而且還可以告知用戶離操作結束還多遠。
這兩個指示器都是派生自UIView,所以他們是視圖,也可以附著在視圖上。
一、UIActivityIndicatorView 活動指示器
1.創建
- UIActivityIndicatorView* activityIndicatorView = [ [ UIActivityIndicatorView alloc ]
- initWithFrame:CGRectMake(250.0,20.0,30.0,30.0)];
2. 屬性設置
風格:
- activityIndicatorView.activityIndicatorViewStyle= UIActivityIndicatorViewStyleGray;
系統給你提供了3種風格:
- UIActivityIndicatorViewStyleWhiteLarge 大型白色指示器
- UIActivityIndicatorViewStyleWhite 標准尺寸白色指示器
- UIActivityIndicatorViewStyleGray 灰色指示器,用於白色背景
- 自動隱藏
如果希望指示器停止後自動隱藏,那麼要設置hidesWhenStoped屬性為YES。默認是YES。設置為NO停止後指示器仍會顯示。
- activityIndicatorView.hidesWhenStoped = NO;
3.顯示
可以將它附著在任何視圖上,比如表格單元、或者視圖:
- [ self.view addSubview:activityIndicatorView ];
4.啟動和停止
- [ activityIndicatorView startAnimating ];//啟動
- [ activityIndicatorView stopAnimating ];//停止
二、UIProgressView 進度指示器
UIProgressView 與UIActivityIndicatorView 相似,只不過它提供了一個接口讓你可以顯示一個類似進度條的東西,這樣就能讓用戶知道當前操作完成了多少。
1.創建
- UIProgressView* progressView = [ [ UIProgressView alloc ]
- initWithFrame:CGRectMake(150.0,20.0,130.0,30.0)];
2. 屬性設置
風格:
- progressView .UIProgressViewStyle= UIProgressViewStyleDefault;
系統給你提供了2種風格:
- UIProgressViewStyleDefault 標准進度條
- UIProgressViewStyleDefault 深灰色進度條,用於工具欄中
3.顯示
- [ self.toolBar addSubview:progressView ];
4.進度
- 當它顯示出來時你的程序可以更新它的進度,屬性progre是一個0.0到1.0之間的浮點數:
- progressView.progress = 0. 5;
三、網絡活動指示器
- 當你的應用程序使用網絡時,應當在iPhone的狀態條上放置一個網絡指示器,警告用戶正在使用網絡。這時你可以用UIApplication的一個名為networkActivityIndicatorVisible的屬性。通過設置這個可以啟用或禁用網絡指示器:UIApplication* app = [ UIApplication sharedApplication ];
- pp.networkActivityIndicatorVisible = YES;
四、拓展
是不是覺得又學了點新東西呢?確實。不過我還有個更好的東西推薦:MBProgressHUD https://github.com/jdg/MBProgressHUD 一個更NB的第三方進度指示器,你可以按照它提供的例子去使用它,很強大的。不過有一點我要提醒你的是它是異步的,所以並不能阻塞你當前的程序,如果你想阻塞你的程序還要在邏輯控制上做一點修改。