Of course, just define a custom UIBarButtonItem for back button and bind it to a custom method that does something like this so that you press the controller, but instead of clicking, you will need to place the view controller.
i.e. first you create a back button (in the init or viewDidLoad method).
UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(back)]; self.navigationItem.leftBarButtonItem = backBarButtonItem; [backBarButtonItem release];
then in your inverse method you can do your own animation
-(IBAction)back { [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration: 1.0]; [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view cache:YES]; [[self navigationController] popViewControllerAnimated:NO]; [UIView commitAnimations]; }
source share