【问题标题】:repeat animation from the new object position从新对象位置重复动画
【发布时间】:2013-03-27 11:03:51
【问题描述】:

我想简单地为 UIImageView 设置动画,使其在没有计时器或显示链接的情况下无限移动。所以,这就是我所做的:

        [UIView animateWithDuration:0
                          delay:0
                        options: UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionRepeat
                     animations:^{self.vitesseY = self.vc + self.vitesseY;
                         self.balle.imageView.center = CGPointMake(self.balle.imageView.center.x+self.vitesseX, self.balle.imageView.center.y+self.vitesseY);}
                     completion:^(BOOL finished){NSLog(@"fini");}];

问题是我的 imageView 回到了初始位置,但我想从新位置重复动画。谢谢你的帮助!

【问题讨论】:

    标签: objective-c animation


    【解决方案1】:

    在此处执行操作的最佳方法是使用计时器。

    但是如果你真的因为一些奇怪的原因想要这样做,你需要在调用完成块时添加一个新的动画调用(但这会造成不必要的复杂化并且可能对性能不利)。原因是 UIView 将评估您的动画块一次,然后一遍又一遍地重复相同的动画。

    【讨论】:

    • 谢谢你,我已经尝试在完成块上再次调用动画,但正如你所说,对性能不好......所以,我最终会用计时器或 CADisplayLink 来做。跨度>
    猜你喜欢
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 2019-02-17
    • 2019-05-19
    • 2019-01-23
    • 2022-12-18
    • 1970-01-01
    • 2012-09-14
    相关资源
    最近更新 更多