简单动画无法在 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 视频)。
我正在使用按钮触发以下动画:
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 视频)。