you should use the following code !
SecondViewController * sec = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
CATransition *transitionMainView = [CATransition animation];
transitionMainView.duration = 0.4;
transitionMainView.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transitionMainView.type = kCATransitionReveal;
transitionMainView.subtype = kCATransitionFromRight;
transitionMainView.delegate = self;
[self.navigationController.view.layer addAnimation:transitionMainView forKey:nil];
[self.navigationController pushViewController:sec animated:NO];
sec.view.alpha = 0;
[UIView beginAnimations:@"animation" context:nil];
[UIView setAnimationDuration:0.75];
sec.view.alpha = 1;
[UIView commitAnimations];