Анимируйте UIBarButtonItem как приложение Notes - PullRequest
0 голосов
/ 03 апреля 2011

Я просто хотел узнать, как я могу скопировать мусорную анимацию приложения Notes.app. Я предполагаю, что это будет включать в себя два изображения и класс кнопки UIBarButtonItem.

Ответы [ 2 ]

1 голос
/ 03 апреля 2011

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

Коммутация:

  • Когда кнопка отпущена, измените изображение кнопки для "анимированное" изображение (массив) и стек изображений.
  • После анимации didFinishPlaying (Я думаю) заменить изображение кнопки с оригинальной статичной / одиночной Изображение.

(Это почти так же, как вы бы легко это сделали в CSS / HTML.)

Оживляющий:

  • Когда кнопка отпущена, текущий стек изображений
  • Когда анимация заканчивается сделано.

(В основном, когда есть только одно действие: play (при выпуске).)

Теперь, если вы хотите выполнить полный цикл анимации для кнопки и вида, она становится немного сложнее, но не слишком сложной.

Мойка:

  • Вам необходимо иметь полное изображение стек мусора в закрытом состояние, открытие последовательности анимации и Закрытие анимационной последовательности.
  • Выпуская на иконку, вы начинаете первая половина анимации последовательности (открытие анимации).
  • В конце последовательности (или в параллельно) вы оживляете переход на вид вашего "удаления", такой как искажая вид, так что масштабируется в мусор.
  • Когда эта анимация заканчивается, вы отправляете обратный вызов / уведомление / сообщение кнопка говорит, что я сделал (играть закрывающая анимация)
  • Затем отдохните в начальном кадре стек изображений (закрытое состояние).

У меня нет написанного для вас кода, но я мог бы написать псевдокод, если хотите ...

Ура и удачи! (^ _ ^)

0 голосов
/ 03 апреля 2011

В вашем UINavigationController вот как вы это делаете:

UIBarButtonItem *clearAll = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(trashMethod)];
self.navigationItem.rightBarButtonItem = clearAll;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...