我有一个像这样的循环动画:
UIView.Animate(50, 0, UIViewAnimationOptions.Repeat | UIViewAnimationOptions.CurveLinear, () => {
bgBackground.Frame = new RectangleF(new PointF(-496, bgBackground.Frame.Y), bgBackground.Frame.Size);
}, () => {});
但当应用程序转到后台并且动画未运行时。
当应用程序到达前台时,我已经听过这个事件,但我无法弄清楚如何重新启动动画。
我有另一个使用CABasicAnimation的循环动画,并且在恢复应用程序时仍然运行,所以我不能使用基于UIView的动画来循环动画吗?
其他类似的问题刚刚提供了CALayer动画作为解决方案:
答案 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");
然后我只是在视图出现时调用上面的代码,一切都开始动画了。