непрерывно переворачивая взгляд - PullRequest
0 голосов
/ 15 июля 2010

это мой код

[UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.5];  
    if ([sender tag] == 1) {
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:placeholder cache:YES];
    }
    else {
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];
    }
    if (view1OnTop) {
        [view1 removeFromSuperview];
        [placeholder addSubview:view2];
    }
    else {
        [view2 removeFromSuperview];
        [placeholder addSubview:view1];
    }
    [UIView commitAnimations];

    view1OnTop = !view1OnTop;

я хочу непрерывно переворачивать изображение, например, в течение 1 минуты.

оно должно непрерывно переворачиваться.я делаю это.я хочу получить представление, которое должно непрерывно переключаться в течение некоторого определенного времени.Как я могу достичь этого?С уважением

1 Ответ

1 голос
/ 15 июля 2010

Помимо анимации с переворотом, которая, как я полагаю, у вас работает, вам нужно инициировать новую анимацию после завершения текущей.

Перед [UIView commitAnimations] сделайте следующее:

[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDone:finished:context:)];

добавьте функцию

-(void)animationDone:(NSString*)id finished:(NSNumber*)n context:(void*)context

и разрешите запуск следующего раунда.

edit: вы делаете это, вставляя код для запуска анимации, поэтому типичный блок от [UIView beginAnimations...] до [UIView commitAnimations].Лучшее решение, конечно, состоит в том, чтобы поместить исходный код анимации в отдельную функцию, чтобы схема выглядела следующим образом:

...
    [self startAnimationLoop];
...

-(void)startAnimationLoop
{
    [UIView beginAnimtions...];

    // do the animation stuff

    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(animationDone:finished:context:)];
    [UIView commitAnimations];
}

-(void)animationDone:(NSString*)id finished:(NSNumber*)n context:(void*)context
{
    [self startAnimationLoop];
}

, чтобы заставить ее двигаться вперед / назад, добавить некоторую переменную состояния или создать 2 набораиз этих функций, которые вызывают друг друга (startAnimationLoop1 и startAnimationLoop2, каждая из которых запускает другую по завершении)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...