0

背景の色が連続的に変化するアプリを計画しています。私の考えでは、UIView アニメーションは、他のアニメーションの後に何度も繰り返す必要があります。この私の試み

self.view.backgroundColor = [UIColor whiteColor];
[UIView animateWithDuration:4 delay:0 options: UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionAutoreverse  animations:^{
    [UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
        self.view.backgroundColor = [UIColor yellowColor];
        NSLog(@"1");
    } completion:^(BOOL finished){
        [UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
            self.view.backgroundColor = [UIColor greenColor];
            NSLog(@"2");
        } completion:^(BOOL finished){
            [UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
                self.view.backgroundColor = [UIColor redColor];
                NSLog(@"3");
            } completion:^(BOOL finished){
                [UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
                    self.view.backgroundColor = [UIColor purpleColor];
                    NSLog(@"4");
                } completion:NULL];
            }];
        }];
    }];


} completion:NULL];

ただし、これは面倒に見えるだけでなく、繰り返されません。何かアドバイス?

4

1 に答える 1