Я хочу представить таймер обратного отсчета. Изображение прогресса должно изменить цвет для < 70% - желтый, < 50% -ред. Но UIProgressView
не обновляется после изменения ProgressTintColor. (Для 0 < x < 0,5).UIProgressView не обновляет значение <= 0.5 после изменения ProgressTintColor
Но Он отлично работает, когда я комментирую
[self.progressView setProgressTintColor: [UIColor redColor]]; //this line.
Код ниже будет триггером для каждой второй:
float value = (float)secondsLeft/(float)secTotalDuration;
if (value < 0.9) {
if (isChange == NO) {
//[self.progressView setTranslatesAutoresizingMaskIntoConstraints: NO]; //- I tried THIS.
[self.progressView setProgressTintColor: [UIColor redColor]]; //LINE - #1
[self.progressView setTrackTintColor: [UIColor clearColor]];
isChange = YES;
}
dispatch_async(dispatch_get_main_queue(), ^{ //With or without mainqueue doen't affect Uiprogressview change while commenting LINE - #1
[self.progressView setProgress:value animated:NO];
});
NSLog(@"Progress: %f", [self.progressView progress]);
И LOG:
Progress: 1.000000
Progress: 0.800000
Progress: 0.700000
Progress: 0.500000 //Doesn't updated after this.
Progress: 0.300000
Progress: 0.200000
Поместите все обновления UI код, связанный под 'dispatch_get_main_queue()' блок. – byJeevan
Я тоже пробовал, jeevan. Но такой же результат. –
Не могли бы вы рассказать мне, что именно вы хотите достичь? – byJeevan