0

UIActivityIndi​​catorView のアニメーションに関する奇妙な問題に直面しています。

左側に UITableView があり、右側に別の UITableView がある splitViewController があります。

アプリケーションに入ると、データをロードするためにバックグラウンドでいくつかの操作を行っており、テーブルの各 UITableViewCell には UIActivityIndi​​catorView が含まれます。

左側で実行する必要がある操作はキューにあります。右側で実行する操作は、別のキューにあります。

右側の操作は、左側で実行する必要がある操作よりも優先度が高くなります。

右側のキューが開始すると、 UIActivityIndi​​catorView がテーブルの各 UITableViewCell に配置され、すぐに開始されます。

左側のキューが開始すると、UIActivityIndi​​catorView がテーブルの各 UITableViewCell に配置されますが、アニメーションはすぐには開始されません。(アニメーションを強制するには、テーブルをスクロールする必要があります)。

どうすればこの状況を解決できますか? テーブルをスクロールせずに、他のテーブルの UIActivityIndi​​catorView をアニメーション化するにはどうすればよいですか?

4

1 に答える 1

0

バックグラウンドで操作を実行するために使用するスレッドの種類はわかりませんが、インターフェイス (状況では UIActivityIndi​​catorView) に影響する場合は、次のコードを使用して UI を実行し、操作スレッドを読み込むことをお勧めします。

dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
    //Background Thread
    dispatch_async(dispatch_get_main_queue(), ^(void){
        //Run UI Updates
    });
});
于 2013-11-07T14:44:43.603 に答える