[iPhone SDK] 処理中の表示に便利 MBProgressHUD
今作っている位置情報通知アプリで、送信にそれなりに時間がかかるので、送信中には単なるUIActivityIndicatorViewによるぐるぐる表示だけではなく、モーダルダイアログ的なものを表示したいと考えた。
自分で作るのはおっくうだと思っていたら、MBProgressHUD なるものがMOONGIFTで紹介されていたので、利用してみた。
組み込みは MBProgressHUD.h と MBProgressHUD.m をプロジェクトに追加するだけなのでとても簡単だ。
今回は NSURLConnection でデータを送信しており、送信終了は – (void)connectionDidFinishLoading:(NSURLConnection *)connection で受け取っている。
このため、MBProgressHUD のサンプルプログラムそのままでは使えないのだが、StackOverflow で使い方が紹介されていたので参考にしたらさくっと導入できた。
これは便利。
mbProcess=[[MBProgressHUD alloc] initWithView:self.view]; mbProcess.labelText=@"Loading Data"; [self.view addSubview:mbProcess]; [mbProcess setDelegate:self]; [mbProcess show:YES]; ... // 処理が終わったところで [mbProcess hide:YES];
delegateの実装も忘れずに。
// delegate の処理を書く必要がある #pragma mark - #pragma mark MBProgressHUDDelegate methods - (void)hudWasHidden { // Remove HUD from screen when the HUD was hidded [mbProcess removeFromSuperview]; [mbProcess release]; }
MBProgressHUDのサンプルプログラムの動作の様子はこちら。
追記 : 2010/10/11
UITableView を表示する際に MBProgressHUD を表示したいことはよくありそうだ。
Loading screen in TableView – iPhone Dev SDK Forumが参考になる。
自分もはまったが、-(void)viewDidAppear:(BOOL)animated に実装すればうまくいく。
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // The hud will dispable all input on the view HUD = [[MBProgressHUD alloc] initWithView:self.view]; // Add HUD to screen [self.view addSubview:HUD]; // Regisete for HUD callbacks so we can remove it from the window at the right time HUD.delegate = self; HUD.labelText = @"Loading"; // Show the HUD while the provided method executes in a new thread [HUD showWhileExecuting:@selector(doTimeConsumingJob) onTarget:self withObject:nil animated:YES]; }
追記: 2012/01/14
かなり久しぶりにMBProgressHUDを使おうと思ったらすっかり忘れていて、もっと簡単に使えるものがないか調べてみたところ SVProgressHUD が見つかった。
単純に処理中表示を出したいのであればこちらの方が簡単そう。
関連記事
-
-
iOS Developer Program 更新(2回目)
4月はじめにiOS Developer Program の期限が切れるので、Apple から
-
-
iPhone/iPad にMIDIキーボードを接続する
iPhone や iPad に MIDI キーボードが接続できると、実際のキーボードをつかって操作が
-
-
App Store の Kids Category にアプリを公開する その2
Kids Category でアプリを公開してもらうために Submit したところ、見事に Rej
-
-
やはり新touchは待ちか…
今年のiPodイベントは、超びっくりは無かったけれどもまずまずみんな満足したのだろうか。 自分はカメ
-
-
iPhone/iPad 用ステンシルを買ってみた
makoto_kw氏と、MobileStencil.com の iPhone/iPa
-
-
[iPhone 開発本] iPhone Advanced Projects がおもしろい
Apressのページはこちら。公開されているサンプルコードは43MBもある。
-
-
[iPhone SDK] Significant-change Location Service の挙動
iPhoneで位置情報取得を連続して行うと、あっという間に電池が無くなってしまう。これは、位置情報取
-
-
Apple Special Event 2010
2010年は、1月に初代 iPad が発表され、6月にWWDCでiPhone4が発表されるという、
-
-
[おんぷちゃん] おんぷちゃん for iPad ver.1.2 鍵盤に音名を表示
かなり久しぶりにおんぷちゃん for iPad を更新。今回でバージョン1.2になります。 おんぷち
-
-
[iOS開発本] 詳解 iOS5 プログラミング の感想
書店で見かけて久しぶりに即買いしたiOS開発本。 今日ようやくざっと読めて、予想以上におもしろかった
- PREV
- MacOSで動画で画面をキャプチャ iShowU HD
- NEXT
- かいけつゾロリ 作品名一覧