3

私は現在、本当に奇妙なバグを抱えています。

メソッドが呼び出されます。これは、それUIActivityIndicatorViewを停止して非表示にすることになっている (停止時の自動非表示が有効になっている) と、UIImageView呼び出されbadIndicatorた です。

代わりに、 とUIImageView呼ばれる別のものを表示することになっていgoodIndicatorます。

[goodIndicator setHidden:NO];
[badIndicator setHidden:YES];
[refreshIndicator stopAnimating];
NSLog(@"statussetting good should be completed");

コンソールはすぐに次のように出力しますが、変更が画面に表示されるまでに約 3 秒かかります。

2013-05-31 20:24:57.835 app name[5948:1603] statussetting good should be completed

オブジェクトと親ビューでメソッドを呼び出してみsetNeedsDisplayましたが、非表示をアルファに置き換えました。それでも同じ問題が発生します。

4

2 に答える 2

11

バックグラウンドスレッドからこれを呼び出しているようです。とのすべてのやり取りはUIKit、メイン スレッドから行う必要があります。使用してみてください:

dispatch_async(dispatch_get_main_queue(), ^{
    [goodIndicator setHidden:NO];
    [badIndicator setHidden:YES];
    [refreshIndicator stopAnimating];
    NSLog(@"statussetting good should be completed");
});
于 2013-05-31T18:55:52.437 に答える
2

メインスレッドでこのメソッドを呼び出す必要があります。次を使用してみてください:

-(void)hideControls { 
    [goodIndicator setHidden:NO]; 
    [badIndicator setHidden:YES]; 
    [refreshIndicator stopAnimating]; 
    NSLog(@"statussetting good should be completed"); 
}
于 2013-05-31T19:19:30.923 に答える