Я хочу анимировать текст UILabel
, чтобы он отображал один текст в течение нескольких секунд и после этого исчезал в текст по умолчанию.Fade между текстом в UILabel с задержкой
В настоящее время я использую следующий код:
-(void)tapOnBalance:(id)sender{
[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
cell.amountLabel.text = @"Hola!";
} completion:nil];
// Pause the function - act as a 'delay'
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:3]];
[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
cell.amountLabel.text = @"Hallo!";
} completion:nil];
}
Это работает, но [NSRunLoop currentRunLoop]
во время паузы всех приложений, блокируя все в течение 3 секунд.
Как избавиться от блока на основной теме и получить тот же результат?
Считаете ли вы использование параметра «delay» методов анимации? –
Да, но они не работают на 'UILabels' – bdv
Не знаю о нижнем, но (1) вам не нужно приостанавливать основной поток в этом случае ... вместо этого используйте блок завершения и задержка. (2) Проверьте этот ответ для получения справки о том, как правильно выполнить подобный переход UILabel: http://stackoverflow.com/a/16367409/2274694 –