恢复应用程序时恢复UIView动画

时间:2012-04-14 18:05:17

标签: xamarin.ios uiviewanimation

我有一个像这样的循环动画:

       UIView.Animate(50, 0, UIViewAnimationOptions.Repeat | UIViewAnimationOptions.CurveLinear, () => { 
            bgBackground.Frame = new RectangleF(new PointF(-496, bgBackground.Frame.Y), bgBackground.Frame.Size);
        }, () => {});

但当应用程序转到后台并且动画未运行时。

当应用程序到达前台时,我已经听过这个事件,但我无法弄清楚如何重新启动动画。

我有另一个使用CABasicAnimation的循环动画,并且在恢复应用程序时仍然运行,所以我不能使用基于UIView的动画来循环动画吗?

其他类似的问题刚刚提供了CALayer动画作为解决方案:

1 个答案:

答案 0 :(得分:0)

我重写了使用CABasicAnimation然后一切都很好。

CABasicAnimation animSc;
animSc = CABasicAnimation.FromKeyPath("transform.translation.x");
animSc.From = NSNumber.FromFloat(0.0f);
animSc.To = NSNumber.FromFloat(-496.0f);
animSc.Duration = 50.0f;
animSc.RepeatCount = INFITE_NUMBER;
bgView.Layer.AddAnimation(animSc, "bg_anim");

然后我只是在视图出现时调用上面的代码,一切都开始动画了。