减慢动画中的 UIView 动画

Posted

技术标签:

【中文标题】减慢动画中的 UIView 动画【英文标题】:Slow down UIView animation within Animation 【发布时间】:2013-01-30 09:39:50 【问题描述】:

我有简单的 UIView 动画块,它为 2 个视图的原点设置动画。我在地图视图视图上的特殊位置上有一个按钮。因此,当我想为地图中心设置动画并随地图移动图钉时,地图的移动速度比按钮快。有没有办法加快按钮的动画或减慢地图的动画?目前看起来地图在移动,按钮跳到了他的结束位置。

CGPoint newCenter = mapView.center;
newCenter.x -= 1;
newCenter.y -= (button.frame.size.height/2)


[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationCurveEaseIn animations:^

     CGPoint screenPoint = fakePin.frame.origin;
     screenPoint.x -= 5;
     screenPoint.y += button.frame.size.height-4;

     mapView.mapCoord = [mapView.map convertPoint:screenPoint toCoordinateFromView:self.view];
    self.mapView.map.centerCoordinate = mapView.mapCoord;
     [button setCenter:newCenter];
];

有什么想法吗?

【问题讨论】:

你的mapCoord是什么,你的button是什么班级? 【参考方案1】:

为什么不将按钮显示为注释?然后它会沿着地图移动。

不过,尝试在按钮上而不是中心上设置属性框架的动画。您需要自己进行计算,但我认为这可能是问题所在。

【讨论】:

我无法将其显示为注释,因为我必须进行许多注释不支持的自定义。计算本身并不能解决问题。【参考方案2】:

我刚刚发现,问题在于我的 setCenter: 在没有动画的情况下被调用,不知何故它在 ios5 中与谷歌地图一起工作(动画本身但在 ios6 中没有=

不行!!

【讨论】:

我在文档中找不到任何说明它已被弃用的内容,但也许我只是盲目。 对不起,我写了正确的解决方案是我的错,你不是瞎子;)

以上是关于减慢动画中的 UIView 动画的主要内容,如果未能解决你的问题,请参考以下文章

减慢css3中的动画

全局减慢 Flutter 中的动画

减慢 CSS 不透明度动画

无法在 ios 中减慢动画速度

UIView 动画块中的图层动画

减慢 UIDynamicAnimator 的动画