UIView的animateWithDuration:时间:动画:完成:似乎有一个默认的转变?(UI

2019-07-29 14:59发布

在我的计划,我想创建一个动画将以恒定的速度移动。 看来,动画启动缓慢,加速,然后慢慢结束。 有什么办法来改变这种?

Answer 1:

您可以通过使用更改此设置animateWithDuration:delay:options:animations:completion:替代。 发送UIViewAnimationOption掩码选项参数。 这些是你感兴趣的选项:

 UIViewAnimationOptionCurveEaseInOut 
 UIViewAnimationOptionCurveEaseIn   
 UIViewAnimationOptionCurveEaseOut 
 UIViewAnimationOptionCurveLinear 

该文件说, UIViewAnimationOptionCurveEaseInOut是默认值。

详细信息请参见文档: http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html



Answer 2:

您应该使用,将解决你的问题

[UIView animateWithDuration:duration delay:0 options:UIViewAnimationOptionCurveLinear  animations:^{
        //code with animation
    } completion:^(BOOL finished) {
        //code for completion
    }];


文章来源: UIView animateWithDuration: duration: animations: completion: seems to have a default transition?