2011-07-13 3 views
1

activityIndi​​catorViewStyleを複数回設定することはできません。コードは次のとおりです。activityIndi​​catorViewStyleは1回のみ設定できますか?

self.loadingIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 20.0f, 20.0f)]; 
[self.loadingIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray]; 
[self.loadingIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite]; 

出力は常に灰色です。スタイルを設定しよう2番目の試みはそれを作るように見えません。これはバグですか?

+0

フムを。奇妙な。私はちょうどあなたが灰色から白に切り替えることを望む理由を考えています。移行はすぐになるでしょう、あなたはそれに気付かないでしょう。とにかく...スタイルを変更する前にそれを解放してみてください。 – Legolas

+0

@Legolas上記のコードは実験用です。私の本当の意図は、このインジケータがポップオーバーの内側にあるときにスタイルを切り替えることです。 – pixelfreak

+0

'activityIndi​​catorViewStyle'プロパティは、初期化の後でも確実に変更可能です。問題が解決しない場合は、iOS 5ベータ版を試してみてください。そうであれば、バグを報告してください。 –

答えて

0

私は、activityIndicatorViewStyleプロパティが読み取り専用ではないことに驚きました。しかし、唯一の文書化された初期化メソッドがinitWithActivityIndicatorStyle:であることを考えると、クラスは1つのスタイルで初期化され、その場では変更されないように意図されています。

次の2つの間で切り替える必要がある場合、私はちょうど新しいものの古い1スワップアウトをお勧めします:

UIActivityIndicatorView *newView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorViewStyle:...]; 
newView.center = self.loadingIndicator.center; 
[[self.loadingIndicator superview] addSubview:newView]; 
[self.loadingIndicator removeFromSuperview]; 
self.loadingIndicator = newView; 
[newView release]; 
+0

ありがとう、それは私の疑惑です。アップルはこれを適切に文書化しているはずです。 – pixelfreak

関連する問題