используя серию анимаций на разных изображениях один за другим - PullRequest
0 голосов
/ 29 июля 2011

Мне нужно сделать серию анимаций на 4 разных изображениях. Изображения расположены в последовательности. Это начнется с движения первого изображения, а когда оно остановится, второе будет двигаться, и другие последуют за ним. Может ли кто-нибудь помочь мне?

Заранее спасибо

Панкай

Ответ

[UIView animateWithDuration:2.0
                 animations:^{ 
                     ballon1.center = CGPointMake(260, 50);
                 } 
                 completion:^(BOOL finished){

                     [UIView animateWithDuration:1.5
                                      animations:^{ 
                                          ballon2.center = CGPointMake(260, 140);
                                      } 
                                      completion:^(BOOL finished){
                                              [UIView animateWithDuration:1.0
                                                               animations:^{ 
                                                                   ballon3.center = CGPointMake(260, 230);
                                                               } 
                                                               completion:^(BOOL finished){
                                                                   [UIView animateWithDuration:1.0
                                                                                    animations:^{ 
                                                                                        ballon4.center = CGPointMake(260, 320);
                                                                                    } 
                                                                                    completion:^(BOOL finished){
                                                                                        ;
                                                                                    }];
                                                               }];

                                          }
                                      ];

                 }];

Ответы [ 2 ]

1 голос
/ 29 июля 2011

Вы можете сделать что-то вроде этого:

[UIView animateWithDuration:1 animations:^{
    self.image1.frame = [self frameForImage1];
} completion:^(BOOL finished){
    [UIView animateWithDuration:1 animations:^{
        self.image2.frame = [self frameForImage2];
    } completion:^(BOOL finished){
       // etc. for images 3 and 4
    }];
}];

Или, если вы предпочитаете делать анимацию, используя beginAnimations:context: и commitAnimation, тогда вы можете использовать setAnimationDelegate: и setAnimationDidStopSelector: для цепочкивместе серия селекторов для анимации каждого изображения.

0 голосов
/ 29 июля 2011

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

UIImageView *animView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 855, 768, 92)];
animView.animationImages = [NSArray arrayWithObjects:   
                    [UIImage imageNamed:@"01.jpg"],
                    [UIImage imageNamed:@"02.jpg"],
                    [UIImage imageNamed:@"03.jpg"],nil];



// all frames will execute in 1.5 seconds 
animView.animationDuration = 7;

// repeat the annimation forever
animView.animationRepeatCount = 0;

// start animating
[animView startAnimating];

// add the animation view to the main window 
[webView addSubview:animView];

Надеюсь, это поможет вам.

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