Похоже на правильный ответ, чтобы добавить пользовательскую анимацию в слой, а затем просто установить свойство вместо использования аниматора по умолчанию для свойства:
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
.