2012-03-09 9 views
0

MBProgressHudを使用して負荷インジケーターを表示しています。ここに私の表示コードは次のとおりです。MBProgressHudはローダーの表示時に表示をクリアします

self.hud = [[MBProgressHUD alloc] initWithView:self.view]; 
[self.view addSubview:self.hud]; 

self.hud.delegate = self; 
self.hud.labelText = @"Loading :)"; 

[self.hud showWhileExecuting:@selector(CreateCollage) onTarget:self withObject:nil animated:YES]; 

問題は、これが実行されるとき、それは写真の束を含むビューをクリアすることです。視覚的な基準フレームを失うため、これは私のユーザーにとっては紛らわしいものです。

MBProgressHudを使用しない場合は、CreateCollageが終了するまで既存の写真が表示されます。ちょっと遅れたり、次のセットに固定されたりします。何か案は?ありがとう

答えて

0

あなたの問題は、ビューで初期化してビューにもう一度追加することによって供給されていると思われます。フレームと見なされているので、前面に表示される可能性があります。

self.hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; 
self.hud.delegate = self; 
self.hud.labelText = @"Loading :)"; 

をそして、あなたの返信用CreateCollage

[MBProgressHUD hideHUDForView:self.view animated:YES]; 
+0

おかげで、あなたの行動の最後にこれを呼び出す:

私はこの代わりにしようとお勧めします。これは、CreateCollageが実行されるときに、ローダーが次のセットが完了するまで表示されないほどのリソースを占めるように見えるため、うまくいかないようです。つまり、基本的には、ビューに次のセットが表示される直前にローダーが点滅するだけです。しかし、それは既存の写真セットを見えるままにすることを可能にする。 – user339946

+0

私はそれが非同期アクションだと思った。もちろん、それがブロックされている場合、これは動作しません –

関連する問題