I've created one view containing three subviews.

I would like to fade in / out the three subviews and repeat the effect indefinitely.

I try something like :

```
+ (void)fadeIn:(UIView *)view withDuration:(float)duration
{
    [UIView animateWithDuration:duration animations:^{
        view.alpha = 1.0;
    }];
}

+ (void)fadeOut:(UIView *)view withDuration:(float)duration
{
    [UIView animateWithDuration:duration animations:^{
        view.alpha = 0.0;
    }];
}

[UIView animateWithDuration:5.0
                      delay:2.0
                    options:UIViewAnimationCurveLinear | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat
                 animations:^
{
    [Utilities fadeOut:headSubtitle_1 withDuration:1];
    [Utilities fadeIn:headSubtitle_2 withDuration:1];
    [Utilities fadeOut:headSubtitle_2 withDuration:1];
    [Utilities fadeIn:headSubtitle_3 withDuration:1];
    [Utilities fadeOut:headSubtitle_3 withDuration:1];
    [Utilities fadeIn:headSubtitle_1 withDuration:1];
}
                 completion:^(BOOL finished)
{}];

```

But it doesn't work well.

The effect that I would obtain is :

1. Display headSubtitle\_1 for 2 seconds
2. FadeOut headSubtitle\_1 in 1 second
3. FadeIn headSubstitle\_2 in 1 second
4. Display headSubstitle\_2 for 2 seconds
5. FadeOut headSubtitle\_2 in 1 second
6. FadeIn headSubstitle\_3 in 1 second
7. Display headSubstitle\_3 for 2 seconds
8. FadeOut headSubtitle\_3 in 1 second
9. FadeIn headSubtitle\_1 in 1 second
10. Repeat to 1.

Thanks a lot !

**EDIT**

Finally, I try something like this : 

```
+ (void)runAnimationSubtitleOrdersWithSub1:(UITextView *)headSubtitle_1 andSub2:(UITextView *)headSubtitle_2 andSub3:(UITextView *)headSubtitle_3
{
    [UIView animateWithDuration:1.0 delay:1.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
        headSubtitle_1.alpha = 0;
    } completion:^(BOOL finished) {
        if (finished)
        {
            [UIView animateWithDuration:1.0 delay:1.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
                headSubtitle_2.alpha = 1;
            } completion:^(BOOL finished) {
                if (finished)
                {
                    [UIView animateWithDuration:1.0 delay:1.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
                        headSubtitle_2.alpha = 0;
                    } completion:^(BOOL finished) {
                        if (finished)
                        {
                            [UIView animateWithDuration:1.0 delay:1.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
                                headSubtitle_3.alpha = 1;
                            } completion:^(BOOL finished) {
                                if (finished)
                                {
                                    [UIView animateWithDuration:1.0 delay:1.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
                                        headSubtitle_3.alpha = 0;
                                    } completion:^(BOOL finished) {
                                        if (finished)
                                        {
                                            [UIView animateWithDuration:1.0 delay:1.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
                                                headSubtitle_1.alpha = 1;
                                            } completion:^(BOOL finished) {
                                                [FormBuilder runAnimationSubtitleOrdersWithSub1:headSubtitle_1 andSub2:headSubtitle_2 andSub3:headSubtitle_3];
                                            }];
                                        }
                                    }];
                                }
                            }];
                        }
                    }];
                }
            }];
        }
    }];
}

```

It's really ugly ! If some body knows a better way to do this.