Цепная анимация UIView с временными интервалами

Мне нужно анимировать 3 UIViews (Fade In / Out). Длительность 1 анимации составляет 0,6 с (цикл постепенного появления / выпадения 0,6 + 0,6 с). Но мне нужно запустить анимацию за 0,2 секунды.

Первая анимация должна быть запущена за 0,0 секунды.Вторая анимация должна быть запущена через 0,2 секунды.Третья анимация должна быть запущена за 0,4 секунды.

И все они должны быть зациклены «до бесконечности» (до какого-то триггера).

Что имею на данный момент:

- (void)playAnimation {
    isAnimated = YES;
    [self animateView:firstView afterDelay:0.0];
    [self animateView:secondView afterDelay:0.2];
    [self animateView:thirdView afterDelay:0.4];
}

- (void)stopAnimation {
    isAnimated = NO;
}

- (void)animateView:(UIView *)animatedView afterDelay:(float)delay {
    if(isAnimated) {
        [UIView animateWithDuration:0.6 delay:delay options:UIViewAnimationOptionTransitionNone
                     animations:^ {
            animatedView.alpha = 1.0;
        } completion:^(BOOL finished) {
            [UIView animateWithDuration:0.6 animations:^ {
                animatedView.alpha = 0.0;
            } completion:^(BOOL finished) {
                [self animateView:animatedView afterDelay:0.0];
            }];
        }];
    }
}

Этот код работает непредсказуемо. Иногда анимация просмотра работает так, как я хочу (с фазой 0,2 секунды), иногда она запускается в одно и то же время ... Какой будет правильный способ сделать это? Я также пытался удалитьafterDelay: расстаться с сигнатурой метода и запустить метод animateView таким же образом:

[self performSelector:@selector(animateView:) withObject:thirdView afterDelay:0.6];

ОБНОВИТЬ
Я заметил, что анимация «ломается», когда тяжелая сеть работает в фоновом режиме (загрузка больших изображений с помощью AFNetworking). Я не против, если анимация немного «зависнет» (хотя я предпочитаю вообще не иметь задержек), но я действительно хочу, чтобы фазы всех анимаций были связаны (с одинаковой разностью фаз).

Чтобы облегчить понимание проблемы, я добавил графики. Y - альфа, X - время. Лучшие 3 графика - то, что я хочу иметь. Нижние - то, что у меня сейчас есть. Выделенная область, где проблема приходит. Вы можете видеть, что анимация второго вида останавливается на 0,2 секунды и синхронизируется с третьей. Таким образом, они начинают мигать в той же фазе. Это только один пример. Иногда они могут нормально анимироваться, иногда все 3 представления «синхронизируются» за несколько циклов анимации и мигают в одной фазе ...

Ответы на вопрос(5)

Ваш ответ на вопрос