UIView animateWithDuration: duration: animations: completion:似乎有一个默认的过渡效果?

15
在我的程序中,我想创建一个以恒定速度移动的动画。看起来动画开始缓慢,加速然后再缓慢结束。有没有办法改变这个情况?
2个回答

22

您可以通过使用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


21
你应该使用 这个,这将解决你的问题。
[UIView animateWithDuration:duration delay:0 options:UIViewAnimationOptionCurveLinear  animations:^{
        //code with animation
    } completion:^(BOOL finished) {
        //code for completion
    }];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接