私はUITabBarController
を使ってタブ付きのアプリケーションを持っています。 2つのタブがあり、それぞれViewController1
& ViewController2
にリンクされています。各ビューコントローラがロードされると、サーバからデータがフェッチされます。したがって、私はローディングステータスを表示するのにMBProgressHUD
を使用します。iOS MBProgressHUD:正しいタイミングで表示
ただし、この動作は次のようになります。タブを切り替えると、アプリがハングしたように見えます。しかし、データがサーバーからロードされた後、MBProgressHUD
が1秒間点滅して消えた後、ビューは新しいタブに変更されます。
しかし、私がしたいことは:MBProgressHUD
は新しいタブが一度触れられたときを示し、MBProgressHUD
はデータのロードが完了すると終了します。私は何を取りこぼしたか?
- (void)viewDidLoad
{
[super viewDidLoad];
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.labelText = NSLocalizedString(@"Loading", nil);
// load data from server, parsing XML, etc
[MBProgressHUD hideHUDForView:self.view animated:YES];
}
UPDATE:ここで私は、サンプルのXcodeプロジェクトを持って、あなたたちはそれを試してみると、私は何を逃した私に言うことができる。ここ
は、私が使用するコードです。 [Download Link]
もう1つ追加する: 'MBProgressHUD'のデリゲートを構成します。 – Raptor
あなたはすでにそのコードを持っていましたので、私はそれを含めませんでした。ただし、-showWhileExecutingを呼び出す前にHUDを設定する必要があります。お役に立てて嬉しいです。 –