animations:^{
newViewController.view.transform = CGAffineTransformMakeScale(1.0, 100.0);
newViewController.view.center = originalCenter;
}
It looks like you're not animating the current view controller's view. I'm also not sure why you're setting the transform of your new view controller's view. I'd expect your code to look something like this:
CGPoint originalCenter = currentViewController.view.center;
CGPoint newCurrentVCCenter = CGPointMake(currentViewController.view.center.x - screenWidth, currentViewController.center.y);
[UIView animateWithDuration:1.9
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
currentViewController.center = newCurrentVCCenter;
newViewController.view.center = originalCenter;
}
completion:^(BOOL finished){
// clean up here
}];
In other words, you're moving currentViewController.view
and newViewController.view
, so that the current view and new view both shift left the same amount and at the same time.