A navigation bar is not required to control the viewing manager by the navigation controller. Instead of trying to fake the back button, use the navigation controller to control both view controllers and to hide the navigation bar from the first controller. For example, you can add something like:
[self.navigationController setNavigationBarHidden:YES animated:YES];
for the controller method -viewDidAppear. Do something similar for the second controller, passing NO for the hidden parameter to display it again.
In general, the view controller can add a return button to the navigation bar with this code (warning: an unverified code entered from memory, but you need to start):
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:myBackImage style: UIBarButtonItemStylePlain target:self action:someAction]; self.navigationItem.backBarButtonItem = backButton; [backButton release];
When the button is pressed, the button will send its action (someAction) to its target (self).
source share