Это просто, попробуйте объединить анимацию в цепочку.Сначала fadeIn, затем fadeOut.То, что делает приведенный ниже код, сначала устанавливает alpha
в 0. Затем анимирует появление метки в 1 секунду.Как только это будет сделано, подождите 4 секунды, затем запустите анимацию fadeOut таким же образом.
[label setText:@"some text"];
[label setAlpha:0.0];
[UIView animateWithDuration:1.0
delay:0
options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction
animations:^(void)
{
[label setAlpha:1.0];
}
completion:^(BOOL finished)
{
if(finished)
{
[UIView animateWithDuration:1.5
delay:4
options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction
animations:^(void)
{
[label setAlpha:0.0];
}
completion:^(BOOL finished)
{
if(finished)
NSLog(@"Hurray. Label fadedIn & fadedOut");
}];
}
}];
Этот способ объединения анимации в iOS является одним из наиболее эффективных способов сделать это.