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を出力すべきではありませんか?プログレスバーも変化なし。
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を出力すべきではありませんか?プログレスバーも変化なし。
まず、メインスレッドで進行状況の値を設定していることを確認してください。(そしてそれself.progressView
は実際にはあなたを指しますUIProgressView
)
それでも問題が解決しない場合は、次のように使用して、UIの変更に追いつくためにrunloopに明示的に時間を与えることをお勧めします。
NSDate* futureDate = [NSDate dateWithTimeInterval:0.001 sinceDate:[NSDate date]];
[[NSRunLoop currentRunLoop] runUntilDate:futureDate];
ただし、このようなハックの使用には十分注意する必要があります。以下を参照してください。