0

iPhoneアプリでCoreDataデータベースを更新する必要がある場合は、iPhoneアプリの読み込み中にMBProgressHUDビューをユーザーに表示して、アプリが機能していてハングしていないことをユーザーに知らせたいと思います。データストアの移行中にスプラッシュ画面にMBProgressHUDを追加するにはどうすればよいですか?通常はUIViewControllerのビューにアタッチしますが、スプラッシュ画面はアプリデリゲートの下にあります。これは可能ですか?

4

2 に答える 2

4

いいえ、スプラッシュ画面は静的であるため、何もオーバーレイすることはできません。

ただし、アプリが読み込まれるまで集中的なプロセスを少し遅らせてから、進行状況インジケーターを使用して偽のスプラッシュ画面を作成し、集中的な処理がバックグラウンドスレッドで進行するようにすることもできます。

于 2011-04-28T15:23:50.190 に答える
0

#define次のように、アプリケーションデリゲートヘッダーファイル(または「グローバル」ヘッダー)にマクロを作成できます。

#define MyAppDelegate [[UIApplication sharedApplication] delegate]

次に、アプリケーションデリゲートプロパティにアクセスする場合は、そのヘッダー(またはグローバルヘッダー)をインポートしたアプリケーションの任意の場所で次のようにアクセスできます。

MyAppDelegate.property = foo;
[[MyAppDelegate property] bar];

これは、アプリのライフサイクルの任意の時点で進行状況ビューを管理するのに役立つ場合があります。

編集

sudo rm -rfは正しいので、スプラッシュ画面では作業できません。ただし、アプリデリゲートの-applicationDidFinishLaunching:メソッドで進行状況ビューを開始してから、バックグラウンドスレッドで作業を開始することができます。バックグラウンドスレッドの作業が終了したら、コールバックで進行状況ビューを閉じます。

于 2011-04-28T15:16:12.220 に答える