[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 が見つかった。
単純に処理中表示を出したいのであればこちらの方が簡単そう。
関連記事
-
派生クラスを変更し忘れて半日はまる
こんなコードを書いて半日はまっていた。 SettingViewController は UITa
-
Admob に関して少し調べてみた
iPhoneアプリとAndroidアプリでAdmobを使って広告を表示してみているが、いまだに管理画
-
[iOS SDK] EverLearn 3Dタッチ対応
iPhone 7 Plus を購入したので、まずは EverLearn から、3Dタッチの対応を行い
-
安くなったPFUのSnapLiteを買ってみた
昔からほしかったが高くて手が出なかったPFUのSnapLiteが2018年3月に販売終了になったらし
-
iPhone向け有償・無償フレームワーク
かごおた さんで、iPhone アプリ開発で使用できる有償・無償フレームワークが紹介されていた。 有
-
[iOS] 取り下げになったアプリを更新
しばらく更新していなかったら App Store から取り下げになった「タッチにほんちず」アプ
-
Clime もうすぐ発送?
自分以外に注目している人を見たことがない Clime だが、メールでせかしていたらもうすぐ発送してく
-
[iPhone SDK] View Based Application で NIB(XIB)ファイルを削除してみる
iPhoneアプリ開発に慣れてくると、段々Interface Builderを使わなくなってくる。
-
iOSアプリの Ad Hoc 配布の悪夢から解放される TestFlight
面倒だった Adhoc 版のやりとりを格段に楽にしてくれる TestFlight | つくる社LL
-
自作アプリ おんぷちゃん にランキングモードを追加
かなり前からほそぼそと準備を続けていた、五線譜学習アプリ おんぷちゃんへのランキング挑戦モード追加
- PREV
- MacOSで動画で画面をキャプチャ iShowU HD
- NEXT
- かいけつゾロリ 作品名一覧