ちなみにインジケーターとは以下のようなグルグルするヤツです。
標準でインジケーターを表示するやり方は以下のようになります。
UIActivityIndicatorViewを使用
============================================== UIActivityIndicatorView *ai = [[UIActivityIndicatorView alloc] init]; ai.frame = CGRectMake(0, 0, 50, 50); ai.center = self.view.center; ai.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge; [self.view addSubview:ai]; [ai startAnimating]; ==============================================
ただ、このやり方はいまいち使い勝手がよくありません。
そこで、標準以外のライブラリを使ってみました。
SVProgressHUDを使用
導入方法はとても簡単です。
ライブラリを以下よりダウンロード
ライブラリから以下のファイルをプロジェクトに追加
- SVProgressHUD.h
- SVProgressHUD.m
- QuartzCore.framework
これだけでOK、あとは以下のように書くだけ
============================================== #import "SVProgressHUD.h" //インジケーターを表示 [SVProgressHUD show]; //インジケーターを消す [SVProgressHUD dismiss]; ==============================================
ただ、このライブラリはiOS6だとなぜか落ちてしまったり、ARCではない環境では上手く動かなかったりして、私の環境では使えませんでした。
MBProgressHUDを使用
こちらも導入は簡単です。
ライブラリを以下よりダウンロード
ライブラリから以下のファイルをプロジェクトに追加
- MBProgressHUD.h
- MBProgressHUD.m
あとは以下のように書くだけ
============================================== #import "MBProgressHUD.h" //インジケーターを表示 [MBProgressHUD showHUDAddedTo:self.view animated:YES]; //インジケーターを消す [MBProgressHUD hideHUDForView:self.view animated:YES]; ==============================================
こちらのライブラリはiOS6でも非ARC環境でもOKでした。
また、以下のように背景の色を変えたり、テキストを表示できたり使い勝手もよさそうです。
============================================== MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; //背景 hud.dimBackground = YES; //テキスト [hud setLabelText:@"Loading..."]; ==============================================
まとめ
インジケーターを表示するなら『MBProgressHUD』をオススメします。
0 件のコメント:
コメントを投稿