Простые анимации [iPhone] - PullRequest
       12

Простые анимации [iPhone]

3 голосов
/ 28 октября 2009

У меня есть несколько UIB-кнопок, которые я хотел бы запускать короткие анимации из 5-10 кадров при нажатии в середине экрана вместе с другими несвязанными материалами. Могу ли я просто удалить один UIImageView в IB и каким-то образом обновить его программным способом? Он не должен быть слишком сложным, я даже не возражаю, если он жестко запрограммирован, пока это такой маленький проект.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 28 октября 2009

Вот пример самого простого способа сделать анимацию с помощью всего нескольких кадров:

Объявите IBOutlet UIImageView *timerAnimation и свяжите его с вашим UIIMageView в IB. Добавьте некоторое количество изображений к вашим ресурсам, например, как показано ниже. Затем загрузите изображения в массив - см. Код:

timerAnimation.animationImages = [NSArray arrayWithObjects:
      [UIImage imageNamed:@"timer00.png"],
      [UIImage imageNamed:@"timer01.png"],
      [UIImage imageNamed:@"timer02.png"],
      [UIImage imageNamed:@"timer03.png"],
      [UIImage imageNamed:@"timer04.png"],
      [UIImage imageNamed:@"timer05.png"],
      [UIImage imageNamed:@"timer06.png"],
      [UIImage imageNamed:@"timer07.png"],
      [UIImage imageNamed:@"timer08.png"],
      [UIImage imageNamed:@"timer09.png"],
      [UIImage imageNamed:@"timer10.png"],
      [UIImage imageNamed:@"timer11.png"],
      [UIImage imageNamed:@"timer12.png"],
      [UIImage imageNamed:@"timer13.png"],
      [UIImage imageNamed:@"timer14.png"],
      [UIImage imageNamed:@"timer15.png"],
      [UIImage imageNamed:@"timer16.png"],
      [UIImage imageNamed:@"timer17.png"],
      [UIImage imageNamed:@"timer18.png"],
      [UIImage imageNamed:@"timer19.png"],
      [UIImage imageNamed:@"timer20.png"],
      [UIImage imageNamed:@"timer21.png"],
      [UIImage imageNamed:@"timer22.png"],
      [UIImage imageNamed:@"timer23.png"],
      [UIImage imageNamed:@"timer24.png"],
      [UIImage imageNamed:@"timer25.png"],
      [UIImage imageNamed:@"timer26.png"],
      [UIImage imageNamed:@"timer27.png"],
      [UIImage imageNamed:@"timer28.png"],
      [UIImage imageNamed:@"timer29.png"],
      [UIImage imageNamed:@"timer30.png"],
      [UIImage imageNamed:@"timer31.png"],
      [UIImage imageNamed:@"timer32.png"],
      [UIImage imageNamed:@"timer33.png"],
      [UIImage imageNamed:@"timer34.png"],
      [UIImage imageNamed:@"timer35.png"],
  //      [UIImage imageNamed:@"timer36.png"], save last picture for "times up"
      nil];
timerAnimation.animationDuration = 5.0;
timerAnimation.animationRepeatCount = 1;
[timerAnimation startAnimating];

Это будет запускать вашу анимацию, пока вы не позвоните [timerAnimation stopAnimating];

0 голосов
/ 28 октября 2009

Да. Создайте IBOutlet для вашего UIImageView, и вы можете обновить его из кода. Например, используйте его свойство image , чтобы установить UIImage, который должен отображаться. Или вы можете добавить изображение к ресурсам вашего приложения и связать его с UIImageView в Интерфейсном Разработчике. Используйте файлы .png, так как iPhone был оптимизирован для них.
Поскольку UIImageView является UIView, можно использовать все обычные методы Core Animation .

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