прыгающая анимация для изображения - PullRequest
1 голос
/ 30 августа 2011

Я хочу анимировать изображение, такое как подпрыгивание. Я могу отскочить от него вперед, но не могу отодвинуть его назад.Я использую этот код:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0f];
hair.transform = CGAffineTransformMakeScale(3.0, 3.0);
[UIView commitAnimations];

Пожалуйста, помогите мне .. Я на данный момент структурирован и не могу решить эту проблему. Пожалуйста, помогите мне.

Ответы [ 3 ]

7 голосов
/ 05 ноября 2012

Используйте эти несколько строк кода, чтобы оживить изображение, как подпрыгивая.

 imgView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.001, 0.001);

 //imgView is your UIImageView where you set an image 

[self.view addSubview:imgView];

[UIView animateWithDuration:0.3/1.5 animations:^{
    imgView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1);
} completion:^(BOOL finished) {
[UIView animateWithDuration:0.3/2 animations:^{
    imgView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.9, 0.9);
} completion:^(BOOL finished) {
    [UIView animateWithDuration:0.3/2 animations:^{
        imgView.transform = CGAffineTransformIdentity;                            
    }];
}];
}];

Спасибо

3 голосов
/ 30 августа 2011

Обратите внимание, что с UIView ссылка :

Использование этого метода не рекомендуется в iPhone OS 4.0 и более поздних версиях. Вместо этого вы должны использовать блочные методы анимации.

Так что в вашем случае вы можете реализовать что-то вроде:

[UIView animateWithDuration:2.0 animations:^(void) {
    hair.transform = CGAffineTransformMakeScale(2.0, 2.0);
} completion:^(BOOL finished) {
    if(finished){
        [UIView animateWithDuration:2.0 animations:^(void) {
            hair.transform = CGAffineTransformMakeScale(0.5, 0.5);
        }];
    }
}]; 
0 голосов
/ 21 сентября 2014

вы можете использовать этот код, вам просто нужно вызвать один из них, и они будут вызывать друг друга автоматически

- (void) animateZoomOut {

[UIView animateWithDuration:1
                      delay:0
                    options:UIViewAnimationOptionTransitionNone
                 animations:^ {
                     self.imgGift.transform = CGAffineTransformMakeScale(0.5, 0.5);
                 }completion:^(BOOL finished) {
                     [self animateGiftZoomIn];
                 }];

} - (void) animateZoomIn {

[UIView animateWithDuration:1
                      delay:0
                    options:UIViewAnimationOptionTransitionNone
                 animations:^ {
                     self.imgGift.transform = CGAffineTransformMakeScale(1, 1);
                 }completion:^(BOOL finished) {
                     [self animateGiftZoomOut];
                 }];

}

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