2011-05-10 82 views
2

我在我的按鈕上運行一個動畫,即不透明度。當動畫完成時,所有按鈕的不透明度都會返回到初始值。代碼:動畫結束進入初始值

CABasicAnimation animation = CABasicAnimation.FromKeyPath("opacity"); 
animation.To = NSNumber.FromFloat(0.1f); 
animation.Duration = animationDuration; 
animation.TimingFunction = CAMediaTimingFunction.FromName (CAMediaTimingFunction.EaseOut); 

如何設置動畫以保持To值?

回答

1

我在代碼中看不到錯誤,但有另一種方法可以做到這一點,而不是CoreAnimation,這有點冗長。

對於UIKit元素,通常更容易使用UIView.Animate方法。所以,你的樣品將是:

UIView.Animate (
    animationDuration, 
    0, 
    UIViewAnimationOptions.CurveEaseOut, 
    delegate {yourButton.Alpha = 0.1f; }, 
    null); 
+0

Dekuji!現在它說'[UIApplication endIgnoringInteractionEvents]調用時沒有匹配-beginIgnoringInteractionEvents。忽略「。在每個動畫運行。它不會崩潰只是寫入調試窗口。任何想法呢? – Scarlaxx 2011-05-10 10:18:31

+0

UIApplication類爲在iOS上運行的應用程序提供了一個集中控制點和協調點。 endIgnoring ...指示接收方恢復觸摸相關事件的處理。當動畫或轉換結束時被調用,我想忽略它,它只是一個詳細信息(AFAIK)。 – 2011-05-10 11:40:09

+0

如何將縮放動畫添加到該按鈕中以使按鈕增大4倍?設置AffineTransform無法使用您的代碼。 – Scarlaxx 2011-05-10 12:31:22