简单动画无法在 iOS7 上运行

Simple animation not working on iOS7

我正在使用按钮触发以下动画:

newPosition1=CGPointMake(200.0f + _btnAgregar.frame.size.width/2.0f, _btnAgregar.center.y);
    [UIView animateWithDuration:0.5f animations:^{
        _btnAgregar.center=newPosition1;
    }];

它在 iOS8 上的任何设备 运行 上都可以正常工作,但在 iOS7 上 运行 上绝对没有任何效果。

知道为什么吗?谢谢

根据您的评论,您将获得与此按钮相关的日志输出:

<UIButton: 0x7fded8c9df60; frame = (185 3; 25 25); 
opaque = NO; autoresize = RM+BM; tag = 4; 
animations = { position=<CABasicAnimation: 0x7fded8ce4eb0>; }; 
layer = <CALayer: 0x7fded8c98920>>

因此,此按钮已经根据其位置设置动画。在 iOS 7 中,尝试在某个属性已经设置动画时为其设置动画将导致取消动画。在这段代码运行之前,您需要找出为什么按钮被激活。

问题在 iOS8 中没有发生的原因是动画的工作方式发生了变化 - 同一属性上的多个动画是叠加的(请参阅有关此主题的 WWDC 2014 视频)。