2012-05-02 100 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]; 

但是,你應該非常小心使用這樣的黑客,請參閱:如果您使用動畫

相關問題