Reputation: 23616
I would like to animate the movement of an image without effects. To animate it normally, I could use:
[UIView animateWithDuration:2.5f animations:^{
CGRect currentFrame=self.image.frame;
currentFrame.origin.x-=10;
[self.image setFrame:currentFrame];
}];
Yet, I found that if this method is used, the image gradually speeds up, goes a little faster, then gradually comes to a stop.
Is there any way to animate the movement of a UIImageView, keeping the view at the same speed the entire time?
Upvotes: 1
Views: 345
Reputation: 727047
Your animation speeds up and slows down because it uses the "natural" UIViewAnimationOptionCurveEaseInOut
curve. Use UIViewAnimationOptionCurveLinear
option to use constant speed motion:
[UIView animateWithDuration:2.5f
delay:0
options:UIViewAnimationOptionCurveLinear
animations:^{
CGRect currentFrame=self.image.frame;
currentFrame.origin.x-=10;
[self.image setFrame:currentFrame];
}
completion:^(BOOL finished){
}
];
Upvotes: 1
Reputation: 3376
[UIView animateWithDuration:1.0 delay:0.0 options:0 animations:^{
} completion:^(BOOL finished) {
}];
Upvotes: 0