[iPhone SDK] 処理中の表示に便利 MBProgressHUD

公開日: : 最終更新日:2012/01/14 iPad, iPhone ,

今作っている位置情報通知アプリで、送信にそれなりに時間がかかるので、送信中には単なる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 が見つかった。
単純に処理中表示を出したいのであればこちらの方が簡単そう。

関連記事

no image

Corona SDK 調査5日目

スクリプト言語による効率的ゲーム開発を読み進めている。 そろそろソースコードを読んでみようと思って本

記事を読む

LogLocations 1.3.4 リリース

久しぶりに、LogLocations をアップデートしました。今までピンを置いていた画面に、時刻を表

記事を読む

no image

iPhoneアプリで週末起業

2009年7月に出た本なので、今となってはちょっと古いが、当時の熱気は感じられる。 iPhoneアプ

記事を読む

no image

iOS4プログラミングブック の感想など。

前評判によるとかなりの力作のようなので、久しぶりにiOSの本を買ってみた。 ソースコードはすでに発売

記事を読む

Reject 履歴 おんぷちゃん 1.9.1

iOS14からおんぷ先生と接続できない の修正のため、久しぶりにおんぷちゃんを更新したとこ

記事を読む

no image

iPhone SDK アプリケーション開発ガイド

iPhone SDK アプリケーション開発ガイド(原題 iPhone SDK Application

記事を読む

奥さん用 iPhone 4 購入

奥さんのiPhone 3Gに電源が入らなくなり、再起動したりDFUモードにしたりしても直らず、修理(

記事を読む

no image

iPhoneアプリ おんぷちゃんアップデート 2010年6月

ユーザレビューなどで複数の方から要望があった機能に対応してみました。 以下、その説明です。 これま

記事を読む

no image

Corona SDK 調査4日目

今日はスクリプト言語による効率的ゲーム開発を読んで、ちょっとテストプログラムを書いたくらいであまり進

記事を読む

iPadアプリおんぷちゃんでMiselu C.24 をサポートしました

Bluetoothキーボード兼iPadカバーの Miselu C.24 が届いたので、iPadアプリ

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

Vision Proアプリ開発本 8/24、8/26に発売

Vision Proアプリ開発入門 P400が 8/24 に発売、V

Developer Strap が日本でも購入可能に

USアカウントでしか購入できなかった Vision Pro 用 De

→もっと見る

PAGE TOP ↑