0

iOS アプリで UIProgressView を更新しようとしている方法を次に示します。

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

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

NSLog が 0.0 を出力するのはなぜですか? 0.3を出力すべきではありませんか?プログレスバーも変化なし。

4

1 に答える 1

0

まず、メインスレッドで進行状況の値を設定していることを確認してください。(そしてそれself.progressViewは実際にはあなたを指しますUIProgressView

それでも問題が解決しない場合は、次のように使用して、UIの変更に追いつくためにrunloopに明示的に時間を与えることをお勧めします。

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

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

于 2012-05-02T22:09:24.230 に答える