UIActivityIndicator
iPhone 3G シミュレーター/デバイスではうまく機能していますが、iPhone 4 (Retina) のシミュレーター/デバイスでは機能していません。黒い背景にあることに言及したいと思います。
1060 次
3 に答える
5
私はかつて同様の問題を抱えていました。インジケーターのスタイルを に変更UIActivityIndicatorViewStyleWhiteLarge
し、背景に対照的な色 (私は黒を選択) を与えることで解決しました。問題は実際にはそれが見えないことです。
于 2011-01-28T12:17:49.267 に答える
2
UIActivityIndicator はすぐには表示されません。
次のようなコードがある場合:
//(pseudo-code)
//Create UIActivityIndicator
//show UIActivityIndicator
//do some other stuff expecting view to show
UIActivityIndicator はプログラムの次の実行ループでのみ表示されるため、UIActivityIndicator は表示されません。
これを回避するには、
{
//create UIActivityIndicator
//show UIActivityIndicator
[self performSelector:@selector(doOtherStuff) withObject:nil afterDelay:0];
}
-(void)doOtherStuff {
//do stuff
}
performSelector は、UIActivityIndicator が表示されるときに、次の実行ループで doOtherStuff が実行されることを意味します。
また、表示するビューにサブビューとして追加する必要があります。
于 2011-01-31T08:34:52.943 に答える
0
メインスレッドではないスレッドからスピナーを表示している可能性がありますか? このアサートを試して、メイン スレッドにいるかどうかを調べることができます。
NSAssert([[NSThread currentThread] isMainThread],
@"This should be run from the main thread.");
アサートが失敗した場合は、呼び出しをメイン スレッドにディスパッチできます。
dispatch_async(dispatch_get_main_queue(), ^{
// display the spinner
});
とにかく、コードを見なければ、私たちはただ推測するだけです.
于 2011-01-31T08:35:19.217 に答える