Приложение, реализующее функцию облегчения (пример кода) для iPhone - PullRequest
0 голосов
/ 05 августа 2009

Я ищу пример кода для реализации функции замедления в iPhone. У меня есть набор изображений, анимированных через UIImageView.

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

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

Как, скажем, с размера 50X50 он достигает 100X100, но при анимации он также становится 120X120 и возвращается к 100X100

Тпй

1 Ответ

0 голосов
/ 19 сентября 2009

Нет простого пути к этому чуваку: P

Я тоже искал это один раз, нашел одну работу, чтобы это сделать:

Использование одной последовательности анимаций:

//getting image
UIImageView *newImageView = [[UIImageView alloc] initWithImage:@"yourtargetimage.png"];
//Setting the initial size of image to 0.01 (invisible)
[newImageView setTransform:CGAffineTransformMakeScale(0.01, 0.01)];

[UIImageView beginAnimations:nil context:newImageView];
            [UIImageView setAnimationDuration:0.25];
            [UIImageView setAnimationDelegate:self];
            [UIImageView setAnimationDidStopSelector:@selector(bounceBackButton:finished:context:)];

            [UIImageView setAnimationDelay:0.2*count];
            CGAffineTransform transformGrow = CGAffineTransformMakeScale(1.2, 1.2);
            newImageView.transform = transformGrow;
            [UIView commitAnimations];


- (void)bounceBackButton:(NSString *)animationID finished:(NSNumber *)finished context:(UIImageView *)imagesHolder
{
    [UIImageView beginAnimations:nil context:imagesHolder];
    [UIImageView setAnimationDuration:0.15];
    [UIImageView setAnimationDelegate:self];
    CGAffineTransform transformBack = CGAffineTransformMakeScale(1.0, 1.0);
    imagesHolder.transform = transformBack;
    [UIView commitAnimations];
}

вам нужно установить исходное состояние анимации, заставить hin перейти к целевому размеру плюс один буке и вернуться к состоянию 1,0;

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