NSView изменить тип свойства анимации - PullRequest
1 голос
/ 02 сентября 2011

У меня есть NSButton, который я хотел бы анимировать при вызове [button setHidden: NO]; Однако я не хочу использовать анимацию затухания по умолчанию, вместо этого я бы хотел использовать анимацию слайда слева.

Я уверен, что это не так сложно, но я изо всех сил пытаюсь найти правильное место в документах.Есть предложения?

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Вы должны изменить кадр через прокси аниматора.

NSRect aFrameMoreToTheLeft = …;
[[button animator] setFrame:aFrameMoreToTheLeft];
0 голосов
/ 05 сентября 2011

Похоже на правильный ответ, чтобы добавить пользовательскую анимацию в слой, а затем просто установить свойство вместо использования аниматора по умолчанию для свойства:

CATransition *animation = [CATransition animation];
[animation setDuration: 0.2];
[animation setType: kCATransitionMoveIn];
[animation setSubtype: kCATransitionFromRight];
[animation setTimingFunction: [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut]];   

[[button layer] addAnimation: animation forKey: @"slidebutton"];
[button setHidden: NO];

Все еще не на 100% ясно, чторазница в Mac OS X между kCATransitionFade и kCATransitionReveal.

...