2011-09-02 149 views
1

我有一個NSButton,我想在動畫時調用[button setHidden: NO];但是,我不想使用默認的淡入淡出動畫,而是需要從左側滑動動畫。NSView更改屬性動畫的類型

我相信這並不複雜,但我正努力在文檔中找到合適的位置。有什麼建議麼?

+0

要清楚,我想使用kCATransitionMoveIn或者或者使用kCATransitionReveal代替kCATransitionFade。 – MarcWan

回答

0

貌似正確答案自定義動畫添加到圖層,然後只需設置屬性,而不是使用默認的動畫的屬性:

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上kCATransitionFadekCATransitionReveal之間有什麼不同。

1

您應該通過改變框架動畫代理。

NSRect aFrameMoreToTheLeft = …; 
[[button animator] setFrame:aFrameMoreToTheLeft];