2012-05-02 25 views
0

ここで私のiOSアプリケーションでUIProgressViewを更新しようとしています。UIProgressBarが更新されないのはなぜですか?

[self.progressView setProgress:3.0/10.0 animated:YES]; 

// check the value. 
NSLog(@"Progress: %0.1f", self.progressView.progress); 

なぜNSLogから0.0が出力されますか? 0.3を出力してはいけませんか?進行状況バーも変化しません。

+2

あなたがアニメーションを使用する場合どうなりますか:その単精度浮動小数点数の代わりにNOと%g? – CodaFi

+8

'self.progressView'が' nil'ではないと確信していますか? – omz

+0

メインスレッドのプログレスバーを更新していますか? – liamnichols

答えて

0

まず、メインスレッドで進捗値を設定してください。 (self.progressViewは実際にはあなたのUIProgressViewを参照しています)

これは役に立たない場合は、明示的にrunloopにUIの変更に追いつく時間を与えることができます。使用:

NSDate* futureDate = [NSDate dateWithTimeInterval:0.001 sinceDate:[NSDate date]]; 
[[NSRunLoop currentRunLoop] runUntilDate:futureDate]; 

をしかし、あなたはこのようなハックを使用して非常に注意する必要があり、以下を参照してください

関連する問題