2016-06-01 8 views
0

私は、アクティビティインジケータを使用して、ユーザへの進行中のネットワークコールを示しています。しかし、ネットワークコールが完了したら、stopAnimatingを呼び出してアクティビティインジケータを停止します。しかし、アクチベータ・インジケータが消える前に、1〜3秒間スクリーンに留まります。アクティビティインジケータがアニメーションを停止するのに時間がかかります

PS:アクチベータインジケータメソッドを呼び出す人は誰もいません。

+0

アクティビティインジケータを停止するコードを共有してください –

+0

stopAnimatingを呼び出すのではなく、単にアクティビティインジケータを非表示にすることはできませんか? –

+0

また、hidesWhenStoppedを設定しましたか? –

答えて

3

上記のコメントに基づいて、問題が見つかりました。 stopAnimating()がバックグラウンドスレッドから呼び出されていて、プロセッサ上ですぐに実行されませんでした。この問題を解決するために、次のコードを使用してメインスレッドにstopAnimating()を送りました。

+0

提案された解決策が間違っているために下降しています。これを含むクラスは 'UIView'のサブクラスです。 UIクラスにスレッディングコードを入れるのは悪い設計です。実際の問題は、クライアントのUIに背景から触れていたことでした。 –

+0

私はあなたのコメントに同意し、あなたの入力に基づいてコードを更新しました。 – 2ank3th

関連する問題