2011-05-10 33 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