Я бы сделал это так:
Установите альфа строки в 0 в viewDidLoad: используя этот фрагмент кода
for (UILabel *label in labelArray) {
label.alpha = 0;
}
Затем в viewWillAppear: или viewDidAppear: введите этот код (зависит от того, что вы хотите, хотите, чтобы он запускался сразу после того, как представление появилось или нет)
for (int i = 0; i < 5; i++) {
[self animateView:[labelArray objectAtIndex:i] withDelay:i * 5];
}
И тогда реализация этого метода будет выглядеть примерно так:
- (void)animateView:(UIView *)view withDelay:(float)delay {
[UIView animateWithDuration:1 delay:delay options:UIViewAnimationOptionCurveEaseInOut animations:^{
view.alpha = 1.0;
} completion:^(BOOL completed) {
[UIView animateWithDuration:1 animations:^{
view.alpha = 0.0];
}];
}];
}
Конечно, вы можете настроить этот метод таким образом, чтобы он соответствовал вашим потребностям (например, если вы хотите сделать его более общим, добавьте туда аргумент продолжительности).