0

画面の読み込み状態をグローバルに表す読み込みビューを実装しようとしています。このビューは、画面の境界線の中央に配置されます。

この実装はどのViewControllerからも独立しているので、私の最初の推測は、アプリケーションデリゲートのメソッドを探すことです(名前を付けましょう:-(void)showLoaderView)。

ロードビューを含む他のUIWindowを作成するのは良いオプションですか。アプリデリゲートメソッド「showLoaderView」が呼び出されると、このウィンドウは他のウィンドウの上に簡単に表示されます。

通常のビューとaddSubviewメソッドを使用している場合の問題は、ローダービューの位置が-(void)showLoaderViewが呼び出される瞬間に依存するため、これにより結合が不適切になることです。

この問題に関して他に何か提案があれば、私はそれらを読んで楽しんでください。

ありがとう、

4

1 に答える 1

1

アプリが非アクティブになる前のビューに直接移動する状態にある場合、リソースは引き続き利用できるため、読み込み画面は必要ありません。

アプリが完全に終了し、その時点から標準の最初のビュー以外に戻るビューがない場合にのみ、ロード画面が実際に表示されます。

このため、読み込みビューを表示してからメイン ビューにプッシュする UIViewController を作成します。

コメントからの回答の編集

それ用に別のxibを作成します

appDelegate から UINavigationViewController を取得し、スタック内の topViewController からモーダルに提示してから、それ自体を破棄する独自のメソッドを使用して、シングルトンにすることもできます。

次に、アプリ内のどこでも、[[MyLoadingView sharedInstance] show];何かを行うことができ、モーダル ビューを取得し、読み込みが完了すると、それ自体も閉じます。

編集2

アクションを BG スレッドにプッシュすることもできます。

NSOperationQueue を使用するだけです。

表示用のローディング ビューと、実際に作業を行うローディング シングルトン クラスが必要になる場合があります。そうすれば、読み込み中のビューを閉じることができ、読み込み中のクラスは引き続きバックグラウンドで作業を行うことができます。

于 2013-01-17T13:45:44.113 に答える