0

ファイルを取得XMLして解析し、UITableView. アプリケーションが読み込まれると、すべてがうまくいきます。別のタブをタップするtabViewControllerと、一時停止して次のビューが読み込まれます。これが発生したときにアニメーションを開始する必要がありますがNetworkActivityIndicator、そのコードを配置する場所に問題があります。

viewDidLoad何か他のことが起こり始める前にメソッドに配置しようとしましたが、その結果、ビューが完全に読み込まれた後にアクティビティインジケーターがアニメーションを開始します。同じ位置にステートメントを配置NSLogすると、タブがタップされるとすぐにデバッガー コンソールに表示されます。アクティビティ インジケーターもすぐにアニメーション化されないのはなぜですか? どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

0

メインスレッドでファイルをロードしているようです。実行ループは各ループで UI の変更のみを行うため、読み込み中にメイン スレッドをフリーズすると、完了するまで何も変更されません。ロードを非同期で行うことを検討する必要があります...

これを回避するちょっとハックな方法は、ネットワーク インジケータを表示に設定した直後にループを実行することです。

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
于 2012-11-27T14:28:21.913 に答える