我有一個進度條有點麻煩,因爲iOS 5中走了出來。下面的代碼在iOS 5之前工作正常,但在iOS 5中,進度條不再顯示在循環中設置的新進度。setProgress不再更新UIProgressView因爲iOS 5的
的代碼,預計這樣的工作:
- 創建進度條(作品)
- 在一個新的後臺進程:設定的0.25(作品)的初步進展
- 在同後臺進程:更新進度,同時要通環路(在iOS 4的工作)
下面是條初始化代碼:
// create a progress bar
UIProgressView *progressBar = [[UIProgressView alloc] initWithFrame:CGRectMake(coverSizeX*0.25, coverSizeY - 34.0, coverSizeX*0.5, 9.0)];
progressBar.progress = 0.0;
progressBar.progressViewStyle = UIProgressViewStyleBar;
和在不同的線程它設置一個起點進展至0.25:
// set an initial progress
[progressBar setProgress: 0.25];
一點後,它被更新以顯示下載進度一個循環內的進展:
// within a for-loop:
NSNumber *counterPercentage;
for (pageDownload = 1; pageDownload < pagesToDownload; pageDownload++) {
counterPercentage = [[NSNumber alloc] initWithFloat: (float)pageDownload/(float)((float)pagesToDownload)];
[progressBar setProgress: [counterPercentage floatValue]];
[progressBar performSelectorOnMainThread:@selector(setNeedsDisplay) withObject:nil waitUntilDone:YES];
}
...但屏幕上沒有顯示進度,進度條停留在設定的最初的0.25進度上。
有沒有跟iOS 5版本,可以打破它的任何變化?
謝謝,這工作!也感謝大家的不僅僅是提供一個工作的解決方案:-) – favo 2012-01-10 14:18:36