0

画面内のすべてのビューの上に配置する読み込みビュー ページを作成したいと考えています。次のコードを使用して、rootViewController のビューを取得します。

UIApplication.sharedApplication.keyWindow.rootViewController.view

ビュー ページを作成し、サブビューとして rootViewController のビューに追加します。私の問題は、これを行うときです。rootViewController が変更された場合、読み込み中のページが新しい viewController のビューの背後に移動します。たとえば、http リクエストを送信するときに showLoading 関数を呼び出しています。応答が返ってきたら、viewController を変更し、その後ろで読み込みを行います。バックグラウンドで起こっていることとは関係なく、ロードを一番上に置く方法はありますか?

4

1 に答える 1

3

好きなだけ作成できUIWindowsます。ビューが常に一番上にあることを本当に確認したい場合は、2 番目のビューを作成しUIWindowて階層に追加することをお勧めします。次に、他の場所で何が起こってもUIWindow、読み込みインジケーターは一番上に残ります。

UIWindow *secondWindow = [[UIWindow alloc] initWithFrame:[[[UIApplication sharedApplication] keyWindow] frame]];
[secondWindow setWindowLevel:UIWindowLevelStatusBar];
[secondWindow makeKeyAndVisible];

UIViewController *aNewViewController = [[UIViewController alloc] initWithFrame:secondWindow.bounds];
[secondWindow setRootViewController:aNewViewController];
于 2013-03-19T20:23:37.413 に答える