[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 が見つかった。
単純に処理中表示を出したいのであればこちらの方が簡単そう。
関連記事
-
-
Generic Xcode Archive 問題
久しぶりに自作アプリ Reibun のアップデート版を App StoreにSubmitしようとおも
-
-
[iOS SDK] UIAlertView が消えた後にキーボードが表示される
昔書いたコードで、UIAlertView に setAlertViewStyle で UIAlert
-
-
Pro iPhone Game Development は発売延期らしい
面白そうだったので結構前にAmazonで注文したのだが、ずっと発売されず、おかしいとおもって発売元の
-
-
奥さん用 iPhone 4 購入
奥さんのiPhone 3Gに電源が入らなくなり、再起動したりDFUモードにしたりしても直らず、修理(
-
-
iPad/iPad2 収納ケース Built Neoplene Envelope
iPad を買って以来使い続けているBuiltのケースです。 Netbook Envelope とい
-
-
Pebble E-Paper Watch 届いた! 感想。
追記: Pebble 向けにアプリを作りました。 Kickstarter で iPhone/A
-
-
[iOS SDK] ObjectAL で EXC_BAD_ACCESS発生
30日から休みだったので、年末は奥さんの実家に帰りつつ、2016年に取り組んでいたアプリの仕上げを行
-
-
Apple iPod touch 第4世代 8GB MC540J/A 注文
Retinaディスプレイとジャイロセンサーを使ってみたかったので、数時間迷った末 Appleのオンラ
-
-
[iOS][SDK]UIImageをファイルとして保存したい
オンデバイスで学習を行ったときに、将来使えるように UIImage も画像ファイルとして保存してお
-
-
2009年10月発売のiPhone SDK関連書籍
10月には Beginning iPhone 3 Developmentの続編とApressが言って
- PREV
- MacOSで動画で画面をキャプチャ iShowU HD
- NEXT
- かいけつゾロリ 作品名一覧