[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 が見つかった。
単純に処理中表示を出したいのであればこちらの方が簡単そう。
関連記事
-
-
iOS14からおんぷ先生と接続できない
下記の問い合わせがあり、調べたところ、iOS14からおんぷちゃんとおんぷ先生がBluetoothで
-
-
Apple Special Event 2011
2011年は iPhone 4s が発表された。 https://japanese.enga
-
-
[iPhone 開発本] iPhoneのオモチャ箱 でしばらく遊べそう
cocos2d/Box2Dを調べたいと思っていたら丁度発売されたので買ってみた。 実際にcocos2
-
-
リズムくん Ver.1.2 アップデート 2012/02/05
iPhone用リズム学習アプリ リズムくん Ver.1.2 アップデートを App Stor
-
-
Jony Ive: The Genius Behind Apple’s Greatest Products
Jony Ive: The Genius Behind Apple's Greatest Produ
-
-
iPhone UIデザイン用シート
paella さんのページにiPhone UIデザイン用シートがあったので利用させてもらう。8月に発
-
-
[iOS] アプリ名にiPadと入れてRejectされた話
新作 iPad アプリを App Store に Submit したところ、Reject されたので
-
-
[iPhone開発本][洋書] iPhone 3D Programming
たまたまApp Storeで O'reilly Media で検索したら、600円の本がわんさか表示
-
-
おんぷちゃん for iPad 2.0.0リリース
あけましておめでとうございます。今年もよろしくお願いします。 2022年8月にはだいたい完成
-
-
iPhone/iPad で教育
この本は面白そう。今後は教育分野での応用も増えていくだろう。 その時に、iPhone/iPad は教
- PREV
- MacOSで動画で画面をキャプチャ iShowU HD
- NEXT
- かいけつゾロリ 作品名一覧