В настоящее время я вношу последние штрихи в проект.Animating setHidden: на NSView через привязки какао
Многие (если не все) логики пользовательского интерфейса в настоящее время полагаются на привязки какао. Некоторые элементы пользовательского интерфейса (метки, кнопки и т. Д.) Имеют свои «скрытые» привязки. Когда запускаются определенные события, видимость этих элементов переключается.
Я пытаюсь оживить изменение видимости (оживляя непрозрачность и, возможно, даже масштаб). Это можно легко выполнить несколькими способами, установив соответствующие свойства слоя, добавив анимацию на уровень и т. Д. Однако, поскольку я пытаюсь полностью полагаться на поведение привязок, я «не могу» действительно делать это прямо.
Я попробовал реализацию с помощью действия слоя, путем определения действий для ключей kCAOnOrderIn
и kCAOnOrderOut
на соответствующих элементах, но это действительно не работает, так как setHidden:
, скорее всего, которые инициированы на NSView
вместо CALayer
- - что имеет смысл.
Итак, мой вопрос: как бы вы анимировали setHidden:
на NSView, когда setHidden:
вызывается привязками какао.
спасибо.
'setHidden:' на CALayer * * является анимируемым. В действии по умолчанию для клавиш ввода/вывода порядок использует CAT-переход, в результате чего непрозрачность слоев анимации. – phluid
Да. Скрытый анимативен в том смысле, что вы можете изменить значения, однако есть только два возможных значения. Core Animation интерполирует промежуточные значения. С скрытым, это либо ДА, либо НЕТ. Но похоже, что вы хотите, чтобы он автоматически запускал анимацию fade при вызове setHidden. Это верно? Если это так, я не думаю, что вы можете сделать это только с привязкой. Вероятно, вам придется писать код. Вы можете попытаться привязать свойство alpha и установить его на 0 или 1. Кажется, это может дать вам желание, которое вы ищете, но я не уверен, как у вас есть что-то связанное. –