Как настроить анимацию встряхивания в UIImageView IOS

Я кодирую функцию встряхивания изображения, и код ниже:

CABasicAnimation* shake = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
shake.fromValue = [NSNumber numberWithFloat:-0.2];
shake.toValue = [NSNumber numberWithFloat:+0.2];
shake.duration = 0.1;
shake.autoreverses = YES; 
shake.repeatCount = 4;
[self.imageView.layer addAnimation:shake forKey:@"imageView"];
self.imageView.alpha = 1.0;
[UIView animateWithDuration:2.0 delay:2.0 options:UIViewAnimationOptionCurveEaseIn animations:nil completion:nil];

У меня есть два вопроса:

1. приведенный выше код потрясет изображение вокруг его центра (transform.rotation.z). Но как заставить изображение дрожать вокруг нижнего центра?

2.Как я могу контролировать запуск и остановку этой потрясающей анимации? Например, заставляйте изображение дрожать, пока не получите данные с сервера, и остановите анимацию.

1 ответ

Решение

Вы можете сделать это, изменив изображение. Сделайте его в два раза выше, но дно должно быть прозрачным.

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

Другие вопросы по тегам