Как вы заставляете изображения колебаться, как на домашнем экране iPhone? - PullRequest
10 голосов
/ 12 февраля 2011

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

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

Ответы [ 3 ]

26 голосов
/ 12 февраля 2011

Если вы хотите, чтобы ваши представления, изображения и т. Д. Колебались, например, на домашнем экране, вы можете сделать что-то вроде этого:

    CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-15.0));
    CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(15.0));

    view.transform = leftWobble;  // starting point

    [UIView beginAnimations:@"wobble" context:view];
    [UIView setAnimationRepeatAutoreverses:YES];
    [UIView setAnimationRepeatCount:5]; // adjustable
    [UIView setAnimationDuration:0.125];
    [UIView setAnimationDelegate:self];
    view.transform = rightWobble; // end here & auto-reverse
    [UIView commitAnimations];

Вам также необходимо добавить это определение:

#define RADIANS(degrees) ((degrees * M_PI) / 180.0)
10 голосов
/ 28 августа 2012

с блоками (iOS 4+) это будет выглядеть так:

#define RADIANS(degrees) ((degrees * M_PI) / 180.0)

    CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-2.0));
    CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(2.0));

    cell.transform = leftWobble;  // starting point
    cell.deleteButton.hidden = NO;

    [UIView animateWithDuration:0.125 delay:0 options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse) animations:^{
        cell.transform = rightWobble;
    }completion:^(BOOL finished){
    }];
1 голос
/ 12 февраля 2011

Если вы имеете в виду значки на главном экране iOS, я не думаю, что это когда-либо будет возможно.

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

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