UITabBarItem Icon Animation

Приложение Skype для iPhone использует анимированные иконки TabBar. Например, во время входа в систему значок самой правой вкладки отображает стрелки. Во время вызова значок вкладки «Позвонить» мягко мигает, что, очевидно, делается с помощью анимации.

Интересно, как можно анимировать значки элементов панели вкладок?

В моем конкретном случае, когда пользователь нажимает кнопку «Избранное», он переходит на элемент панели вкладок «Избранное». Я уже реализовал анимацию прыжков, но я бы хотел, чтобы соответствующий значок панели вкладок мигал в конце анимации, чтобы создать ощущение завершенности.

Какие-либо предложения относительно направления, в котором я должен искать?

Спасибо заранее.

14
задан Sergey Lost 19 August 2010 в 08:41
поделиться

2 ответа

Я удивлен, насколько простым оказалось решение!

Добавьте метод в .m-файл вашего класса Application Delegate (или любого другого класса, который управляет вашим UITabBar), содержащий следующую процедуру:

  1. Создайте UIImageView, который будет использоваться для анимации.
  2. Добавьте его в представление TabBar с помощью метода addSubview: .
  3. Уменьшите размер кадра до UITabBarItem (используйте размер кадра UITabBar и количество элементов панели вкладок для расчета размера кадра).
  4. Отрегулируйте значение frame.origin.x imageView, чтобы поместить изображение прямо над элементом табуляции, который вы хотите анимировать.
  5. Добавьте желаемую анимацию в imageView (вы можете играть с непрозрачностью, менять местами несколько изображений - все, что хотите).

Довольно просто, не правда ли?

Вы можете вызвать этот метод в экземпляре UIApplicationDelegate в любом месте, где вам нужно анимировать элемент панели вкладок.

Также важно отметить, что вы можете касаться ЧЕРЕЗ imageView, чтобы выбрать элемент панели вкладок, как если бы на панели вкладок не было изображения. Здесь можно сделать много интересных выводов о том, что вы можете сделать, если знаете это ...

12
ответ дан 1 December 2019 в 13:21
поделиться

Я этого не делал, но я бы просто попытался создать CAAnimation, например с CABasicAnimation и добавьте его в UITabBarItem, который вы хотите анимировать.

Подробнее о настройке CABasicAnimation см. В Руководстве по программированию основной анимации: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/AnimatingLayers.html#//apple_ref/doc/uid/TP40006085-SW1

0
ответ дан 1 December 2019 в 13:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: