我正在尝试使用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点而不是减速?
答案 0 :(得分:4)
使用此:
[UIView animateWithDuration:3 delay:0 options:UIViewAnimationTransitionNone | UIViewAnimationOptionCurveLinear animations:^(void){
...
答案 1 :(得分:1)
只需将动画选项更改为UIViewAnimationOptionCurveLinear
即可使动画使用删除所有加速和减速,或UIViewAnimationOptionCurveEaseIn
保持慢速启动而不减速。
您所看到的是预期的even documented(见下文)。默认情况下,动画开始和结束都很慢:
的讨论强>此方法使用
UIViewAnimationOptionCurveEaseInOut
立即执行指定的动画。
答案 2 :(得分:1)
在选项中包含UIViewAnimationCurveLinear
而不是UIViewAnimationTransitionNone
。 UIViewAnimationTransitionNone
不适用于此类动画。它适用于视图控制器转换。