The following gives a nice linaer transition from one frame location to another frame location:

    dispatch_async(dispatch_get_main_queue(), ^{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
_bottomAnimatedBar.frame = frame;
[UIView commitAnimations];
});

This also gives a nice linear transition, although it can be a little bumping depending on the coordinates of the frame:

    [UIView
animateWithDuration:0.5
animations:^{
_bottomAnimatedBar.frame = frame;
}];