UIView animatewithduration - iOS

时间:2012-10-14 06:19:35

标签: ios uiviewanimation uiviewanimationtransition

我正在尝试使用UIView animateWithDuration将标签从A点移动到B点

    [UIView animateWithDuration:3 delay:0 options:UIViewAnimationTransitionNone animations:^(void){
        label.alpha = 1;
        label.center = CGPointMake(label.center.x , label.center.y +740);

        }completion:^(BOOL Finished){ 
         label.alpha = 0;
        label.center = CGPointMake(label.center.x , label.center.y - 740);]

一旦标签即将达到740,它就会黯然失色。是否可以将均匀运动指向B点而不是减速?

3 个答案:

答案 0 :(得分:4)

使用此:

[UIView animateWithDuration:3 delay:0 options:UIViewAnimationTransitionNone | UIViewAnimationOptionCurveLinear animations:^(void){ 
...

答案 1 :(得分:1)

只需将动画选项更改为UIViewAnimationOptionCurveLinear即可使动画使用删除所有加速和减速,或UIViewAnimationOptionCurveEaseIn保持慢速启动而不减速。

您所看到的是预期的even documented(见下文)。默认情况下,动画开始和结束都很慢:

  的讨论      

此方法使用UIViewAnimationOptionCurveEaseInOut立即执行指定的动画。

答案 2 :(得分:1)

在选项中包含UIViewAnimationCurveLinear而不是UIViewAnimationTransitionNoneUIViewAnimationTransitionNone不适用于此类动画。它适用于视图控制器转换。