データがバックグラウンドで非同期にプルされていることを示す MBProgressHUD があります。ネットワークが遅い場合、これには永遠にかかることがあります。そのため、現在のところ、閉じられていない場合は 30 秒後に非表示にしています。ネットワーク接続が遅い場合にこの HUD を非表示にする良い方法は何ですか?
2215 次
2 に答える
4
最善の解決策はおそらく、データがロードされている間ずっと HUD を上げたままにして、何かが起こっていることをユーザーが認識できるようにすることです。また、アプリに適している場合は、キャンセルするオプションをユーザーに提供することもできます。あるいは、データを少しずつ読み込んで表示できる場合 (つまり、データのセット全体を取得する前に)、UI で何かを表示し始めるのに十分なデータが得られるまで HUD を表示する必要があります。ユーザーと対話できます。
基本的に、回避したいのは、ユーザーには何も起こっていないように見え、UI が基本的に空白で何もすることがないという状況です。
于 2012-01-31T19:39:22.547 に答える
0
MBProgressHUD デリゲートを実装する
ネットワーク接続が速いか遅いかに関係なく、毎回呼び出されます。ネットワーク接続が遅い場合はタイムアウトが発生し、このデリゲートが起動されます。このデリゲートのスーパービューから hud を削除します
-(void)hudWasHidden
{
[HUD removeFromSuperview];
}
于 2012-01-31T19:43:03.127 に答える