自从 iOS 5 发布以来,我的进度条有点麻烦。下面的代码在 iOS 5 之前运行良好,但在 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 版本是否有任何可能破坏它的变化?