Как реализовать анимацию NSToolbarItem, например, evernote
Я хочу реализовать анимацию, похожую на синхронизирующую анимацию приложения evernote в Max OS X.
Кнопка выглядит так:
Когда анимация запускается, вращается только белая стрелка.
Я пытался использовать Core Animation
и следующие шаги:
1 я притащил NSButton
к панели инструментов и установите его на выходе aBtn. Я установил синее изображение черного фона на aBtn.
2 я создал CALayer
переменная экземпляра aLayer и добавить его в aBtn. Так что это может выглядеть как кнопка выше.
3 при нажатии aBtn я добавляю анимацию вращения aLayer. Это работает отлично.
Проблема в том, что когда я хочу настроить панель инструментов, aBtn, показанный в палитре панели инструментов, не имеет aLayer и имеет только синее фоновое изображение.
Затем я попытался найти событие или уведомление для отображения или закрытия палитры панели инструментов. В результате я могу сбросить изображение aBtn до того, как палитра панели инструментов была показана или скрыта. Однако я не мог быть уведомлен, когда палитра панели инструментов была закрыта.
Кто-нибудь может дать какое-нибудь предложение?
Если у вас есть хорошая идея о том, как реализовать эту анимацию, пожалуйста, дайте мне знать.
Спасибо!
1 ответ
Я создаю GIF для хранения анимации и создаю NSImageView
для подарка. Тогда я использую -[NSToolBarItem setView:]
,
Использовать gif проще, чем реализовывать его с помощью Core Animation.