Mam mały problem z paskiem postępu, ponieważ wyszedł iOS 5. Poniższy kod działał poprawnie przed iOS 5, ale w systemie iOS 5 pasek postępu nie wyświetla już nowego postępu ustawionego w pętli.setProgress nie aktualizuje już UIProgressView, ponieważ iOS 5
Oczekuje się, że kod działa tak:
- Tworzenie paska postępu (działa)
- w nowy proces w tle: Ustaw początkowy postęp 0,25 (robót)
- w tym samym proces w tle: Aktualizacja postępu jadąc thru pętli (pracował w iOS 4)
Oto kod do baru w init:
// 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;
w innym gwintem ustawia punkt wyjścia dla rozwoju do 0,25:
// set an initial progress
[progressBar setProgress: 0.25];
nieco później aktualizuje postęp w pętli do wyświetlania przebiegu pobierania:
// 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];
}
... ale postęp nie jest wyświetlany na ekranie, pasek postępu utknął przy początkowym ustawieniu 0.25.
Czy zostały wprowadzone jakieś zmiany w wydaniu systemu iOS 5, które mogły zostać uszkodzone?
Dziękujemy, zadziałało! Dziękuję również za wyjaśnienie czegoś więcej niż tylko dostarczenie działającego rozwiązania :-) – favo