iOS 5가 출시 된 이후로 진행률 막대에 약간 문제가 있습니다. 아래의 코드는 iOS 5 이전에는 제대로 작동했지만 iOS 5에서는 진행률 표시 줄에 더 이상 루프 내에서 설정된 새 진행 상황이 표시되지 않습니다.setProgress는 iOS 5 이후 더 이상 UIProgressView를 업데이트하지 않습니다.
이 코드는 다음과 같이 작동 할 것으로 예상된다 : 설정 같은에서 0.25 (작품)의 초기 진행
- 가 진행 표시 줄 새로운 백그라운드 프로세스에서 (작품)
- 만들기 백그라운드 프로세스가 : : 루프를 통해가는 동안 진행 상황을 업데이트
여기 바 초기화에 대한 코드입니다 (아이폰 OS 4 일) 1,515,
// 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