[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 が見つかった。
単純に処理中表示を出したいのであればこちらの方が簡単そう。
関連記事
-
-
WWDC 2011 に行ってきた
WWDC 2011に行ってきたときのメモなど。公開が遅れているうちにWWDC 2012のチケット
-
-
KickstarterでMiselu の iPad用キーボード C.24 に出資してみた
C.24 - The Music Keyboard for iPad by Miselu —
-
-
リズムくんがタイ表示に対応しました
長らくお待たせしました。リズム学習アプリ「リズムくん」iPhone版にタイ表示を追加しました。
-
-
EverLearn 1.7.5 を公開しました
英単語学習アプリ EverLearn 1.7.5 を公開しました。変更点エビングハウスの忘却曲線を参
-
-
[iOS SDK] Miselu C.24 対応(Bluetooth MIDI対応)
自作アプリの Miselu C.24 対応(というかBluetooth MIDI対応)を行ったので、
-
-
iPhoneゲーム開発本 iPhone Games Projects
iPhone Games Projects、ようやくざっと読んだので内容をまとめてみる。 出版元のA
-
-
iOS 13の新機能をざっくり把握する本 購入
https://twitter.com/shu223/status/11517528848553
-
-
プログラムを使ってiPhoneアプリを終了する方法
「ゲームを終了しますか? YES」的なダイアログを出してアプリを終了しようと思ったときに、どうするか
-
-
メイドインジャパンとiPad、どこが違う? 世界で勝てるデジタル家電 感想
西田宗千佳氏の本はいつも面白い。 今回も予想に違わず面白かった。 自分も同じような情報は知っているは
-
-
iPhone開発本 iPhone Cool Projects
iPhone Games Projectsに続いて、iPhone Cool Projects も買っ
- PREV
- MacOSで動画で画面をキャプチャ iShowU HD
- NEXT
- かいけつゾロリ 作品名一覧