анимация блокирует бесконечный цикл - iphone - PullRequest
1 голос
/ 14 октября 2010

Мне трудно работать с блоками анимации.Я пытаюсь, чтобы первая анимация изменила альфа изображения так, чтобы он мигал, а затем через 10 секунд исчезает.Затем первая анимация перемещается во вторую анимацию, которая делает то же самое только с другим изображением.затем процесс повторяется бесконечно.

Я работал с этим некоторое время и не могу заставить его повторяться бесконечно.Другая проблема, с которой я столкнулся, заключалась в том, что задержка процесса анимации начиналась через 20 секунд, и у меня было достаточно времени для воспроизведения аудиофайла.

- (void) firstAnimation {
            UIViewAnimationOptions options = UIViewAnimationOptionCurveLinear;

            [UIView animateWithDuration:1.0 delay:10.0 options:options animations:^ 
            {
                    myImage.alpha = 0.0;
                    myImage.alpha = 1.0;

            }

                    completion:^(BOOL finished){

                    [self secondAnimation]; 
            }
             ];

    }

спасибо, как всегда, за любую помощь.Я искал примеры кода и учебные пособия, но все, что я нашел, в основном то, что я делаю в приведенном выше коде.

Ответы [ 2 ]

1 голос
/ 23 декабря 2011
animateImageWithCount:(int)aCount{
    if( aCount >= [imageArray count]){
        NSLog(@"Done all images");
        return;
    }

    UIImage *myImage = [ImageArray objectAtIndex:aCount];
    UIViewAnimationOptions options = UIViewAnimationOptionCurveLinear;

    myImage.alpha = 0.0;
    [UIView animateWithDuration:1.0 delay:10.0 options:options animations:^{
        myImage.alpha = 1.0;
    }
    completion:^(BOOL finished){
        [self animateImageWithCount:(aCount+1)];
     }];
}
1 голос
/ 14 октября 2010

Я думаю, что вы должны установить начальное значение вашей альфы вне блока анимации и только значение, которое вы хотите, чтобы она анимировала внутри блока.

UIViewAnimationOptions options = UIViewAnimationOptionCurveLinear;
myImage.alpha = 0.0;
[UIView animateWithDuration:1.0 delay:10.0 options:options animations:^ 
        {
                myImage.alpha = 1.0;

        }
...